繁体   English   中英

Python请求返回“无法连接到代理&错误10061”

[英]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.

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