繁体   English   中英

来自python请求的代理无效响应

[英]invalid response from proxy with python requests

我在Python2.7中使用Requests API。

我正在尝试通过代理服务器下载某些网页。 我有可用代理服务器的列表。 但并非所有代理服务器都能按预期工作。 一些代理需要身份验证,其他代理则重定向到广告页面等。为了检测/验证错误响应,我在url请求代码中包括了两项检查。 看起来与此相似

import requests

proxy = '37.228.111.137:80'
url = 'http://www.google.ca/'
response = requests.get(url, proxies = {'http' : 'http://%s' % proxy})
if response.url != url or response.status_code != 200:
    print 'incorrect response'
else:
    print 'response correct'
    print response.text

在某些代理服务器上,requests.get调用成功,并且它们通过了这两个条件,并且在response.text属性中仍包含无效的html源。 但是,如果我在FireFox浏览器中使用相同的代理并尝试打开相同的网页,则会显示一个无效的网页,但是我的python脚本说该响应应该有效。

有人可以指出我,我还缺少其他哪些必要的检查以清除错误的html结果吗?

要么

如何成功验证我打算接收的网页是否正确?

问候。

当浏览器显示时,什么是“无效网页”? 服务器可以返回200的HTTP状态代码,但是内容是错误消息。 您将其理解为错误消息,因为您可以理解它,而浏览器或代码则无法理解。

如果您对目标页面的内容有任何了解,则可以检查返回的HTML是否包含该内容并在此基础上接受它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM