linux下python请求,Python请求库在Linux下超时

我正在尝试使用requests.py库调用其他Web服务。我在windows下为我的用法编写了一个快速原型,并且一切正常,但是当我试图在linux下运行相同的原型时,出现“requests.exceptions.Timeout:Request timed out”错误。有谁知道为什么会发生这种情况?如果我尝试使用该库访问非https网址,它在Windows和Linux下都可以正常工作。Python请求库在Linux下超时

import requests

url = 'https://path.to.rest/svc/?options'

r = requests.get(url, auth=('uid','passwd'), verify=False)

print(r.content)

我也注意到,如果我离开关从get调用验证=假参数,我得到一个不同的异常,即“requests.exceptions.SSLError:无法连接到HTTPS URL,因为SSL模块不可用“。这似乎是一个可能的潜在原因,但我不知道他们为什么会更改错误代码,但我无法找到任何对ssl模块的引用,并且我已验证certifi已安装。有趣的是,如果我在Windows中关闭验证参数,我会得到不同的异常,“requests.exceptions.SSLError:[Errno 1] _ssl.c:503:error:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败”

编辑:

回溯用于提及

完整代码所有情况下/场景如上所示:如图所示

Traceback(most recent call last):

File "testRequests.py", line 15, in

r = requests.get(url, auth=('uid','passwd'), verify=False)

File "build/bdist.linux-x86_64/egg/requests/api.py", line 52, in get

File "build/bdist.linux-x86_64/egg/requests/api.py", line 40, in request

File "build/bdist.linux-x86_64/egg/requests/sessions.py", line 208, in request

File "build/bdist.linux-x86_64/egg/requests/models.py", line 586, in send

requests.exceptions.Timeout: Request timed out

以上代码减去 “验证=假” 放慢参数:

Traceback(most recent call last):

File "testRequests.py", line 15, in

r = requests.get(url, auth=('uid','passwd'))

File "build/bdist.linux-x86_64/egg/requests/api.py", line 52, in get

File "build/bdist.linux-x86_64/egg/requests/api.py", line 40, in request

File "build/bdist.linux-x86_64/egg/requests/sessions.py", line 208, in request

File "build/bdist.linux-x86_64/egg/requests/models.py", line 584, in send

requests.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available

代码如上图减去“验证=假”参数和Windows下运行:

Traceback(most recent call last):

File "testRequests.py", line 59, in

r = requests.get(url, auth=('uid','passwd'))

File "c:\Python27\lib\site-packages\requests\api.py", line 52, in get

return request('get', url, **kwargs)

File "c:\Python27\lib\site-packages\requests\api.py", line 40, in request

return s.request(method=method, url=url, **kwargs)

File "c:\Python27\lib\site-packages\requests\sessions.py", line 208, in request

r.send(prefetch=prefetch)

File "c:\Python27\lib\site-packages\requests\models.py", line 584, in send

raise SSLError(e)

requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

2012-04-17

ntlarson

+0

回溯会很有用。 –

2012-04-17 19:41:55

+0

当你运行'import ssl;从ssl导入套接字'在同一个Python环境中,你得到'requests.exceptions.Timeout:Request timed out'错误? –

2012-04-17 19:45:52

+0

我已经添加了回溯,我的道歉让他们离开。我也尝试了你提到的导入命令并得到一个名为_ssl的ImportError:No模块,但是如果我在Windows环境下运行它,它会导入正常,这看起来是我的问题。对于ssl来说,pypi上的唯一模块就是将python的旧版本的功能赋予2.7版本的应用程序。任何想法为什么它不会导入?我是否需要在服务器上安装ssl(我没有检查过它是否已安装)? –

2012-04-17 20:10:09

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值