Ho avuto lo stesso problema. Ho scoperto che java o net :: http non obbedisce all'opzione nonProxyHosts. Il modo migliore per aggirare questo è modificare le impostazioni ENV_JAVA per tener conto di ciò.
è stato utilizzato il passaggi che ho svolto per garantire nonProxyHosts sono i seguenti:
1) JAVA_OPTS="-Dhttp.proxyHost=192*** -Dhttp.proxyPort=1234 -Dhttp.nonProxyHosts=local|127.0.0.1"
OR
1) JRUBY_OPTS="-J-Dhttp.proxyHost=192*** -J-Dhttp.proxyPort=1234 -J-Dhttp.nonProxyHosts=local|127.0.0.1"
Tenete a mente che, almeno per i java1.7 nonProxyHosts non dovrebbero avere citazioni vedono here.
Ora trovo che net :: http o java non rispetti l'opzione nonProxyHosts.
Tuttavia è possibile aggirare il problema effettuando le seguenti operazioni in JRuby
a = URI("http://someurl")
Net::HTTP.new(a).proxy?.should == true
regex = /$#{ENV_JAVA["http.nonProxyHosts"]}/ #dollar needed to behave as expected
if a.hostname.match(regex)
ENV_JAVA["http.proxyHost"]=nil
end
Net::HTTP.new(a).proxy?.should == false
Speranza che aiuta.
Passerà effettivamente i flag a JVM, ma Ruby's Net :: HTTPClient non li inserisce in un account ... –
Non ho molta familiarità con Net :: HTTPClient, ma non devi impostare proxy anche in quella libreria? Dalla documentazione, sembra che tu debba armeggiare con 'ENV [" HTTP_PROXY "]' e 'ENV_JAVA [" http.proxyHost "]', ecc. – banzaiman