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
160 +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 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 061 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир