Превышено максимальное количество попыток с ошибкой URL-адреса при использовании request.get () - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь написать скрипт на python для отправки HTTP-запроса на получение автоматически сгенерированных URL-адресов и получения его кода ответа и истекшего времени.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 = reports.get (str_s)
Файл "/usr/local/lib/python2.7/dist-packages/requests/api.py", строка 72, в get
returnrequest ('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 = adaptor.send (запрос, ** kwargs)
Файл "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", строка 508, в send
повысить ConnectionError (e, request = request)
request.exceptions.ConnectionError: HTTPConnectionPool (host = 'www.googla.com', port = 80): максимальное количество повторных попыток превышено с помощью url: / (вызвано NewConnectionError (': не удалось установить новое соединение: [Errno -2] имя или служба неизвестна',))

  • Я просто хочусм. время, необходимое для получения ответа на каждый запрос.
  • Необходимо отправить только один запрос
  • Код ответа не имеет значения.

1 Ответ

0 голосов
/ 26 апреля 2018

Полагаю, вы хотите получить что-то вроде этого:

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, и обработать его хорошим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...