来自Web服务器的代理请求被阻止,但浏览器未阻止

时间:2020-03-04 00:12:10

标签: ruby-on-rails ruby proxy httparty

我正在尝试使用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之类的扩展名使用这些相同的代理设置时,请求会顺利通过并加载页面。

是否有任何原因会导致请求从我的Web服务器而不是通过浏览器被阻止?

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

1 个答案:

答案 0 :(得分:0)

您的情况可能有某些原因。

  1. 您可以检查代理是否正常工作吗? 请使用代码中的代理将获取请求发送到https://api.ipify.org/。 如果返回正确的ip地址,则代理有效。

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

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

相关问题