簡體   English   中英

使用 requests.get() 時 URL 錯誤超出最大重試次數

[英]Max retries exceeded with URL Error on using requests.get()

我正在嘗試在 python 中編寫一個腳本,將 HTTP get 請求發送到自動生成的 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())

錯誤:

File "script1.py", line 12, in <module><br>
    r=requests.get(str_s)<br>
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 72, in get<br>
    return request('get', url, params=params, **kwargs)<br>
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 58, in request<br>
    return session.request(method=method, url=url, **kwargs)<br>
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 508, in request<br>
    resp = self.send(prep, **send_kwargs)<br>
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 618, in send<br>
    r = adapter.send(request, **kwargs)<br>
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 508, in send<br>
    raise ConnectionError(e, request=request)<br>
requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.googla.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc44c891e50>: Failed to establish a new connection: [Errno -2] Name or service not known',))
  • 我只想看看收到每個請求的響應所花費的時間。
  • 只需發送一個請求
  • 響應代碼無關緊要。

我猜你想得到這樣的東西:

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引發的異常並以一種很好的方式處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM