【问题标题】:Request with proxy getting blocked from web server but not on browser使用代理的请求被 Web 服务器阻止但浏览器没有
【发布时间】:2020-03-04 00:12:10
【问题描述】:

我正在尝试使用 httparty 向具有代理的网站发出请求,如下所示:

def self.fetch_page_with_html_response(url, proxy_id)

    proxy = Proxy.find(proxy_id)

    request_options = {
        http_proxyaddr: proxy.url, http_proxyport: proxy.port, http_proxyuser: proxy.username, http_proxypass: proxy.password,
        headers: {"User-Agent" => proxy.user_agent}
    }

    response = HTTParty.get(url, request_options)

    response
end

在某些网站上,我的请求要么挂起,要么返回一个错误页面,该网站阻止我获取该页面。

当我在 Chrome 浏览器中使用 SwitchyOmega 之类的扩展程序使用这些相同的代理设置时,请求会顺利通过并加载页面。

是否有任何原因导致我的网络服务器阻止了请求,但没有通过我的浏览器?

我什至使用相同的用户代理进行了测试,并提供了与我的浏览器发送的完全相同的标头。

【问题讨论】:

    标签: ruby-on-rails ruby proxy httparty


    【解决方案1】:

    你的情况可能有一些原因。

    1. 你能检查一下代理是否正常工作吗? 请在代码中使用您的代理向https://api.ipify.org/ 发送获取请求。 如果它返回正确的 IP 地址,则代理工作。

    2. 请在 chrome 设置中禁用 javascript 运行。然后通过代理浏览网站。 并检查网站是否正确加载。 因为有些网站使用javascript渲染html和css。

    如果您仍然需要帮助,请随时回复我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-03
      • 2015-03-09
      • 2019-01-18
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多