【发布时间】:2012-04-20 01:05:42
【问题描述】:
我正在使用 ruby 1.9.3 并尝试使用 open-uri 获取网址并尝试使用 Net:HTTP 发布
我正在尝试对两者都使用代理身份验证:
尝试使用net/http 发出POST 请求:
require 'net/http'
require 'open-uri'
http = Net::HTTP.new("google.com", 80)
headers = { 'User-Agent' => 'Ruby 193'}
resp, data = http.post("/", "name1=value1&name2=value2", headers)
puts data
对于open-uri,我无法做到POST,我使用:
data = open("http://google.com/","User-Agent"=> "Ruby 193").read
如何修改这些以使用带有 HTTP 身份验证的代理
我已经尝试过(对于 open-uri)
data = open("http://google.com/","User-Agent"=> "Ruby 193", :proxy_http_basic_authentication => ["http://proxy.com:8000/", "proxy-user", "proxy-password"]).read
但是我得到的只是OpenURI::HTTPError: 407 Proxy Authentication Required。我已经验证了所有内容,它可以在具有相同身份验证和代理详细信息的浏览器中使用,但我无法让 ruby 执行此操作。
如何修改上面的代码以正确添加 http 身份验证?有没有人经历过这种暴行?
【问题讨论】:
标签: ruby-on-rails ruby proxy open-uri net-http