Как получить ответ HTTP с определенным портом, используя http.client?

Я попытался получить содержимое страницы по следующему URL-адресу

http://username:5000/check/e9549df676ecca6344ad8ba068d05a6d

Поэтому я попытался написать следующий скрипт, но безуспешно.

import http.client

conn = http.client.HTTPSConnection("username",5000)
conn.request("GET", "/check/e9549df676ecca6344ad8ba068d05a6d")
r1 = conn.getresponse()
print(r1.read())

Когда я запускаю скрипт, он просто зависает, кто-нибудь может мне помочь?

Спасибо


person Rge dsfs    schedule 21.02.2021    source источник
comment
Попробуй прочитать ответ кусками.   -  person scenox    schedule 22.02.2021
comment
@scenox на этой странице не так много данных, и даже если я попытаюсь получить r1.status, это не удастся   -  person Rge dsfs    schedule 22.02.2021


Ответы (1)


Адрес, к которому вы пытаетесь подключиться, использует HTTP. Вы подключаетесь через HTTPS к серверу, используя HTTPSConnection. Если сервер не принимает HTTPS-соединение через порт 5000, возникает ошибка, поскольку библиотека не выполняет автоматический переход на более раннюю версию или изменение протокола.

Попробуйте изменить http.client.HTTPSConnection на http.client.HTTPConnection.

person M. Sch.    schedule 22.02.2021
comment
Это сработало отлично! :) - person Rge dsfs; 24.02.2021