使用requests.get()

时间:2018-04-26 04:56:31

标签: python python-2.7 python-requests

我试图在python中编写脚本,向自动生成的URL发送HTTP get请求,并获取其响应代码和已用时间。 URL不一定是有效的,也可以接受400个响应。

script1.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行,在中     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]名称或服务未知',))

  • 我只想看看收到每个请求回复的时间。
  • 只需发送一个请求
  • 响应代码无关紧要。

1 个答案:

答案 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引发的异常并以一种很好的方式处理它。