我试图在python中编写脚本,向自动生成的URL发送HTTP get请求,并获取其响应代码和已用时间。 URL不一定是有效的,也可以接受400个响应。
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行,在中
R = requests.get(str_s)
文件" /usr/local/lib/python2.7/dist-packages/requests/api.py" ;,第72行,获取
退货请求(' get',url,params = params,** kwargs)
文件" /usr/local/lib/python2.7/dist-packages/requests/api.py",第58行,请求中
return session.request(method = method,url = url,** kwargs)
文件" /usr/local/lib/python2.7/dist-packages/requests/sessions.py",第508行,请求中
resp = self.send(prep,** send_kwargs)
文件" /usr/local/lib/python2.7/dist-packages/requests/sessions.py" ;,第618行,在发送中
r = adapter.send(request,** kwargs)
文件" /usr/local/lib/python2.7/dist-packages/requests/adapters.py" ;,第508行,发送
引发ConnectionError(e,request = request)
requests.exceptions.ConnectionError:HTTPConnectionPool(host =' www.googla.com',port = 80):使用url超出了最大重试次数:/(由NewConnectionError引起的错误(':无法建立新的连接:[Errno -2]名称或服务未知',))
答案 0 :(得分:1)
我想你想得到这样的东西:
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
引发的异常并以一种很好的方式处理它。