python requests请求失败重试_关于python:使用requests.get()时,URL错误超出了最大重试次数...

我试图用python编写一个脚本,将HTTPGET请求发送到自动生成的URL,并获取其响应代码和运行时间。URL不一定是有效的,也可以接受400个响应。脚本1.Py

import sys

import requests

str1="http://www.googl"

str3=".com"

str2='a'

for x in range(0, 8):

y = chr(ord(str2)+x)

str_s=str1+y+str3

r=requests.get(str_s)

print(str_s, r.status_code, r.elapsed.total_seconds())

错误:

文件"script1.py",第12行,inr=请求.get(str_s)文件"/usr/local/lib/python2.7/dist packages/requests/api.py",第72行,GET中返回请求("get",url,params=params,**kwargs)文件"/usr/local/lib/python2.7/dist packages/requests/api.py",第58行,请求中返回session.request(method=method,url=url,**kwargs)文件"/usr/local/lib/python2.7/dist packages/requests/sessions.py",第508行,请求中resp=self.send(准备,**发送Kwargs)文件"/usr/local/lib/python2.7/dist packages/requests/sessions.py",第618行,发送中R=适配器。发送(请求,**kwargs)文件"/usr/local/lib/python2.7/dist packages/requests/adapters.py",第508行,发送中引发连接错误(E,请求=请求)requests.exceptions.connectionerror:httpconnectionpool(host='www.googla.com',port=80):超过url://的最大重试次数(由new connectionerror(":无法建立新连接:[errno-2]名称或服务未知")。

我只想看看收到每个请求的响应所用的时间。

只需发送一个请求

响应代码无关紧要。

我想你想得到这样的东西:

import sys

import requests

str1="http://www.googl"

str3=".com"

str2='a'

for x in range(0, 8):

y = chr(ord(str2)+x)

str_s=str1+y+str3

print('Connecting to ' + str_s)

try:

r = requests.get(str_s)

print(str_s, r.status_code, r.elapsed.total_seconds())

except requests.ConnectionError as e:

print("  Failed to open url")

在这种情况下,使用try...except可以捕获get提出的异常,并以一种良好的方式处理它。

我还想看看接收400个错误代码所花费的时间。不只是200。

利用time.time()。

我想要的输出是400响应代码响应的响应时间。它可以在200响应代码下正常工作,但在400响应代码下,连接不会关闭,弹出上面显示的错误消息。我尝试过连接:close-in-get请求,r.close()接近循环的结尾。但还是没有运气!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值