Sto provando a impostare un proxy e usarlo in una semplice richiesta get come nello documentation. Ma ricevo sempre un errore! L'indirizzo e la porta sono corretti con open-uri ha funzionato .. è http://proxy:8080
.Come impostare un proxy in rubys net/http?
proxy_addr = 'proxy'
proxy_port = 8080
Net::HTTP.new('google.de', nil, proxy_addr, proxy_port).start { |http|
# always proxy via your.proxy.addr:8080
Net::HTTP.get('google.de', '')
}
Cosa sto sbagliando? Grazie per tutte le risposte!
Una piccola precisazione: 'Net :: http' utilizzerà automaticamente variabile d'ambiente 'http_proxy' solo quando chiamata attraverso' Net :: HTTP.new'. L'uso di 'Net :: HTTP.start' non utilizzerà la variabile' http_proxy' environment perché passa 'nil' per l'indirizzo proxy se non specificato (invece di passare': ENV'). – cbliard
@cbliard Buon punto. Tuttavia, è ancora possibile utilizzare il rilevamento automatico del proxy in 'NET :: HTTP.start' utilizzando' NET :: HTTP.start (url.hostname, url.port,: p_port =>: ENV) '. – Aert
@Aert utilizzando ': p_port =>: ENV' funziona, ma non mi piace la sua leggibilità :). Un'altra cosa da notare: username e password da 'http_proxy' non vengono letti (come in' http: // username: password @ address: port'). – cbliard