ОБСУЖДЕНИЕ

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

4 ответов 3,5 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Приветствую. Задача состоит в следующем: написать программу-клиент для отправки 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
В чём проблема и как её решить?
 
Последнее редактирование модератором:
  • Нравится
Реакции: pr0phet, |Snake|, IioS и ещё 1 человек
4