Hi all: 使用 Net::HTTP.get 发 http 请求,由于墙的原因,请教有一下各位,有没有什么方法可以让这里的 http 请求通过本地假设的 socket 代理。
处理掉了,发现,用 SOCKSify 就行了哈,(SOCKSify 链接——http://socksify.rubyforge.org/)
代码里用 socksify 也可用在执行的时候用 proxychains,如 proxychains ruby xx.rb
proxychains ruby xx.rb
require "open-uri" html = open('http://sample.com&page=1', :proxy => "http://127.0.0.1:8087", :read_timeout => 1).read
多谢楼上两位,我回头试试哈
def send_with_proxy(uri,params) proxy_addr = 'xx.xx.xx.xx' proxy_port = 8080 req = Net::HTTP::Post.new(uri.request_uri) req.form_data = params res = Net::HTTP::Proxy(proxy_addr , proxy_port ).start(uri.host, uri.port) {|http| http.request(req) } end