Ошибка соединения с использованием запросов (Python) - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь получить данные с этой веб-страницы с помощью модуля запросов, но продолжаю сталкиваться с проблемами подключения. Я попробовал несколько предложений по переполнению стека, но пока что ни одно из них не было эффективным.

Выдает ряд проблем, в том числе:

  1. Превышено максимальное количество попыток с URL: /Click2GovTX/accountsinfo.html?OWASP_CSRFTOKEN=DMRH-B8MI-ZBRR-S7VN -830D-O8Q C -RB9S-54CK & accountsByAddressView = true & paging.pagingId = T422181946 & paging.lastRecord = 0107 & paging.pageNumber = 2

  2. NewConnectionError (': не удалось установить новое соединение 10 * : [WinError 10061] Не удалось установить соединение, поскольку целевая машина активно отказала ему

Ошибка:

runfile('C:/Users/importtesting.py', wdir='C:/Users/wdir')
Traceback (most recent call last):

  File "<ipython-input-21-97dea6983eaf>", line 1, in <module>
    runfile('C:/Users/importtesting.py', wdir='C:/Users/wdir)

  File "C:\Users\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "C:\Users\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/importtesting.py", line 41, in <module>
    pagedata = session.get(website,verify=False)

  File "C:\Users\Anaconda3\lib\site-packages\requests\sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)

  File "C:\Users\Anaconda3\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)

  File "C:\Users\Anaconda3\lib\site-packages\requests\sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)

  File "C:\Users\Anaconda3\lib\site-packages\requests\adapters.py", line 516, in send
    raise ConnectionError(e, request=request)

ConnectionError: HTTPConnectionPool(host='egov2.manchesternh.gov', port=80): Max retries exceeded with url: /Click2GovTX/accountsinfo.html?OWASP_CSRFTOKEN=DMRH-B8MI-ZBRR-S7VN-830D-O8QC-RB9S-54CK&accountsByAddressView=true&paging.pagingId=T422181946&paging.lastRecord=0107&paging.pageNumber=2 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001ABCF3A2088>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))

Код ниже:

import requests
import urllib #did try to use urllib, but didn't work
from urllib.request import urlopen

from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry


website='http://egov2.manchesternh.gov/Click2GovTX/accountsinfo.html?OWASP_CSRFTOKEN=DMRH-B8MI-ZBRR-S7VN-830D-O8QC-RB9S-54CK&accountsByAddressView=true&paging.pagingId=T422181946&paging.lastRecord=0107&paging.pageNumber=2'

session = requests.Session()
retry = Retry(connect=3, backoff_factor=0.5)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)

pagedata = session.get(website,verify=False)

1 Ответ

0 голосов
/ 23 апреля 2020

Это почти наверняка не проблема с вашим Python кодом (если вы не ошиблись в URL). Это похоже на проблему с веб-сервером, к которому вы пытаетесь подключиться. Для проверки используйте что-то другое , например, ваш код, например. веб-браузер или инструмент командной строки, такой как curl.

Вот что я получаю, когда пытаюсь получить доступ к этому веб-серверу с помощью curl:

$ curl http://egov2.manchesternh.gov/
curl: (7) Failed to connect to egov2.manchesternh.gov port 80: Connection refused

Итак, у вас неправильный URL или чей-то веб-сервер не работает. Не проблема с вашим кодом.

...