我尝试设置一个代理,并在一个简单的get请求中使用它,就像在documentation中一样。但是我总是收到一个错误!地址和端口与open-uri是正确的。
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', '')
}
我做错了什么?谢谢你的回答!
5条答案
按热度按时间chhkpiq41#
还有另一种选择:
Net::HTTP将自动从
http_proxy
环境变量创建一个代理(如果存在)。所以你可以用
并且Net::HTTP默认情况下会将其用于所有请求。
它对于第三方库中的net_http请求很有帮助(例如,它适用于gem gibbon for MailChimp)。
为代理地址传递
nil
以禁用默认http_proxy
。qeeaahzv2#
这将创建一个
http
对象供您在块中使用。使用该对象而不是每次都生成新对象,这里是Net::HTTP.get('google.de', '')
brjng4g33#
下面是在代理后进行REST API调用的代码:
ajsxfq5m4#
我试了以上所有的方法,但都不起作用。
我最后的脚本如下(为我工作):
093gszye5#