Проблема Невозможность декодирования ответа от сервера

|Snake|

Green Team
14.03.2018
37
3
BIT
0
Приветствую. Задача состоит в следующем: написать программу-клиент для отправки http запроса на удалённый узел в сети и сохранение ответа в файле (заголовки и тело). С использованием модуля socket. Собственно код:
Python:
import socket
 
conn = socket.socket()
ipHost = socket.gethostbyname("www.club-nissan.ru")
 
conn.connect((ipHost, 80))
 
request = b"GET / HTTP/1.1\r\nHost: www.club-nissan.ru\r\n\r\n"
conn.send(request)
data = b""
tmp = conn.recv(1024)
 
while tmp:
    data += tmp
    tmp = conn.recv(1024)
print(data.decode("utf-8"))
conn.close()
 
f=open('index.html', 'w')
f.write(data.decode("utf-8"))
f.close()
Хост специально искал на http. Задача вроде простая, но возникает ошибка:
Python:
print(data.decode("utf-8"))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 854: invalid continuation byte
В чём проблема и как её решить?
 

mrOkey

Well-known member
14.11.2017
967
975
BIT
0
ну как минимум в том, что сервер отвечает кодировкой
charset=windows-1251

data.decode("windows-1251")
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!