SSL Python Как получить веб-страницу? Нужно получить зашифрованную веб-страницу в нормальном виде
Есть такой код:def get(src):
context=ssl._create_unverified_context()
with urlopen(src,context=context) as site:
return site.read().decode()
С обычными веб-страницами всё хорошо, получает и отображает
Но при шифрованных проблемы:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 102: invalid continuation byte
Если убрать decode(), то будет выводиться в формате b'...'
Как исправить это? Или есть другой способ нормального вывода полученного текста?

21 Авг 2019 в 06:29
190 +1
1
Ответы
1

Для получения зашифрованной веб-страницы в нормальном виде, вам нужно правильно декодировать полученные данные. В данном случае, вы можете попробовать использовать другую кодировку, например 'latin1':

import ssl
from urllib.request import urlopen
def get(src):
context = ssl._create_unverified_context()
with urlopen(src, context=context) as site:
return site.read().decode('latin1')
result = get('https://example.com')
print(result)

Если 'latin1' не работает для вашего случая, вы можете попробовать другие кодировки, как 'ISO-8859-1', 'windows-1251', 'windows-1252' и т.д. Вам придется экспериментировать с различными кодировками, чтобы найти ту, которая правильно декодирует вашу зашифрованную веб-страницу.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир