Tag: proxy

如何使用Rails代理解析URL?

我的应用程序具有以下控制器操作: def test #get URL url = “http://www.coteur.com/surebet.php” doc = Nokogiri::HTML(open(url)) @show = doc.at_css(“title”).text @game_data = Array.new doc.css(‘tbody’).each do |tr| tr.css(“tr”).each do |f| @game_data.push(f.css(“td”).text) end end end 并呈现以下视图: Nope 一切都在本地工作正常,但在Heroku上, 似乎是空的,而不应该是。 问题是在美国它不起作用,但在欧盟它确实有效。 那么我如何使用代理或更改服务器位置或其他方式来解决这个问题呢?

Ruby – 增加代理请求超时

我试图通过一些代理服务器访问一些内容,但我得到: 我修改了代码并尝试增加超时,如下所示: require ‘open-uri’ require ‘net/http’ response = Net::HTTP::Proxy(proxy_ip, proxy_port).get_response(uri.host, uri.path) response.start(uri.host) do |http| http.open_timeout = 5 http.read_timeout = 10 end 现在它没有重新open_timeout并start undefined method `open_timeout=’ for #> undefined method `start.. 有帮助吗?

如何使用User-Agent获取URL并通过Ruby中的某个代理超时?

如果我需要通过某个代理获取URL,如何获取URL,它必须具有max n的超时 。 秒和用户代理 ? require ‘nokogiri’ require ‘net/http’ require ‘rexml/document’ def get_with_max_wait(param, proxy, timeout) url = “http://example.com/?p=#{param}” uri = URI.parse(url) proxy_uri = URI.parse(proxy) http = Net::HTTP.new(uri.host, 80, proxy_uri.host, proxy_uri.port) http.open_timeout = timeout http.read_timeout = timeout response = http.get(url) doc = Nokogiri.parse(response.body) doc.css(“.css .goes .here”)[0].content.strip end 上面的代码通过超时的代理获取URL,但它缺少User-Agent 。 如何使用 User-Agent获取它?

使用OpenURI或net / http进行Ruby代理身份validationGET / POST

我正在使用ruby 1.9.3并尝试使用open-uri获取url并尝试使用Net:HTTP发布 我试图使用代理身份validation: 尝试使用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 对于我无法进行POST open-uri ,我使用: data = open(“http://google.com/”,”User-Agent”=> “Ruby 193”).read 如何修改这些以使用具有HTTP身份validation的代理 我试过(对于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 。 我已经validation了所有,它在浏览器中使用相同的身份validation和代理详细信息,但我无法做到这一点。 如何修改上面的代码以正确添加http身份validation? […]

如何使用socksify gem(代理)抓取网站

我正在阅读Rubyforge上的socksify gem的文档。 我已成功安装了gem,并且已成功运行此文档代码以测试我的本地实现是否可以复制它: require ‘socksify/http’ uri = URI.parse(‘http://rubyforge.org/’) Net::HTTP.SOCKSProxy(‘127.0.0.1’, 9050).start(uri.host, uri.port) do |http| http.get(uri.path) end # => # 但我如何刮’http://google.com/’并获取HTML内容? 我希望用例如Nokogiri解析它: Nokogiri::HTML(open(“http://google.com/))

Ruby,Tor和Net :: HTTP :: Proxy

如果这是一个无耻的怀疑我提前道歉:我想在我的Ruby代码中使用代理来获取一些网页。 而且我想偷偷摸摸! 所以我正在使用Tor。 我有Tor运行,我可以像往常一样使用Net :: HTTP.get(uri)。 但我无法弄清楚如何使用Net :: HTTP :: Proxy来获取uri。 我也无法弄清楚如何使用Tor来帮助我取消匿名。 任何帮助是极大的赞赏。 请不要只为Net :: HTTP :: Proxy添加ruby-doc页面的链接 。 如果我明白了,我不会在这里问这个:-) 另一种简单的方法是使用SOCKSify ,但在这种情况下,我收到以下错误: /usr/lib/ruby/gems/1.9.2-p290/gems/socksify-1.5.0/lib/socksify.rb:189:in ‘socks_authenticate’: SOCKS version not supported (SOCKSError) 我之前从未做过任何网络编程。 任何关于此的指导也将非常有帮助。 谢谢 :-)