我一直在使用社交媒体登录验证测试网站。除了我建立在通过代理连接的能力之外,它是非常原始的。这可以正常工作,包括代理,当我从我的盒子或站点所在的服务器运行它。但是,一旦我在我的服务器上启用了https / ssl并使用了代理,它就停止了这个错误:
File "myprogram.py", line 274, in login
r = self.s.get(self.url)
File "/usr/lib/python2.6/site-packages/requests/sessions.py", line 476, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.6/site-packages/requests/sessions.py", line 464, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.6/site-packages/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.6/site-packages/requests/adapters.py", line 424, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='socialmediawebsite', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', error(111, 'Connection refused')))
我已经阅读了一些可靠的数量,并查看了请求和urllib3的代码,但似乎越来越像我有一个根本的误解。我尝试过HTTPAuth,将verify设置为False,并设置环境变量。我也试过没有代理,它的工作,这增加了我的困惑。在我看来,通过代理发送此https请求可能需要另一项技术。或者仅仅是我必须在某个地方开辟更多的端口或同样简单的东西?
这里有一个类似于我的问题:Python Requests doesnt work for https proxy
但接受的回答实际上是不准确的,对我不起作用。
我的代码是什么样的:
proxies = {
'http': 'http://user:pass@10.10.1.10:3128',
'https': 'http://user:pass@10.10.1.10:3128',
}
self.s.update(proxies)
self.s.get(self.url)