要从给定的URL读取内容,请执行以下操作:
import requests
proxies = {'http':'http://user:pswd@foo-webproxy.foo.com:7777'}
url = 'http://example.com/foo/bar'
r = requests.get(url, proxies = proxies)
print r.text.encode('utf-8')
它工作正常!我得到了内容。
但是,如果我使用其他网址:
url = 'https://en.wikipedia.org/wiki/Mestisko'
它不起作用。我收到一条以:
开头的错误消息requests.exceptions.ConnectionError: ('Connection aborted.', error(10060
维基百科会阻止自动请求吗?
ADDED
我尝试按以下方式设置用户代理:
headers = {'User-Agent':'Mozilla/5.0'}
r = requests.get(url, proxies = proxies, headers = headers)
不幸的是它无济于事。我仍然得到同样的错误。
已添加2
现在我很困惑。如果我尝试通过设置代理从http://example.com/foo/bar
获取内容,我会得到它。如果我没有设置代理,我会获得代理生成的内容。这个行为我能理解。现在,如果我尝试从维基百科获取内容,我会单独获得相同的错误消息,无论我是设置还是不设置代理。所以,我不明白这个错误消息来自维基百科或代理(两个选项都不是真的)。
答案 0 :(得分:0)
通过替换:
解决了问题proxies = {'http':'http://user:pswd@foo-webproxy.foo.com:7777'}
使用以下行:
proxies = {'http':'http://user:pswd@foo-webproxy.foo.com:7777', 'https':'http://user:pswd@foo-webproxy.foo.com:7777'}