[英]Python requests returns “cannot connect to proxy & error 10061”
我使用PyQt4开发了一个桌面客户端,它通过请求库连接到我的Web服务。 您知道, 请求可能是最有用的http客户端之一,我认为应该没问题。 我的桌面客户端可以正常工作,直到发生奇怪的事情。
我使用以下代码将请求发送到我的服务器。
response = requests.get(url, headers = self.getHeaders(), timeout=600, proxies = {}, verify = False)
其中标头仅包含身份验证令牌。
def getHeaders(self, additional = None):
headers = {
'Auth-Token' : HttpBasicClient.UserAuthToken,
}
if additional is not None:
headers.update(additional)
return headers
我无法连接到我的Web服务,所有http请求都弹出相同的错误“'无法连接到代理。',错误(10061,'')”。 例如:
GET URL:http:// api.fangcloud.com/api/v1/user/timestamp HTTPSConnectionPool(host ='api.fangcloud.com',port = 443):URL超过最大重试次数:/ api / v1 / user /时间戳(由ProxyError('无法连接到代理。',错误(10061,''))引起))
这个API除了返回我服务器的时间戳外什么也不做。 当我将网址复制到具有相同环境的同一台计算机上的Chrome中时,它会返回正确的响应。 但是,我的桌面客户端只能返回错误。 请求库有什么问题吗?
我搜索了连接错误10061的问题(“由于目标计算机主动拒绝连接,所以无法建立连接”)。 这可能是由于Web服务器的TCP连接拒绝引起的。
客户端向服务器发送SYN数据包,该数据包以端口(HTTP为80)为目标。 在端口80上运行服务的服务器将以SYN ACK进行响应,但如果不是,则将以RST ACK进行响应。 您的客户端到达服务器,但未到达预期的服务。 这是服务器“主动拒绝”连接尝试的一种方式。
但为什么? 我的客户之前可以正常使用,而Chrome仍然可以使用。 我的机器上没有使用代理。 我有什么想念的吗?
我注意到URL中有空格,对吗? 我在ipython中使用请求进行了测试。响应是:
{
"timestamp": 1472760770,
"success": true
}
对于HTTP和HTTPS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.