Форум сайта python.su
смысловой кусок кода:
conn.request('GET', redirect_location,{},headers)
resp = conn.getresponse()
print resp.status
print resp.getheaders()
data = resp.read()
conn.close()
f = open(“result.htm”, “w”)
f.write( data )
f.close()
сервер отвечает в юникоде и в result.htm попадает полная абракадабра. браузерами это потом не открывается даже с установкой принудительной кодировки.
что делать?
Офлайн
вот посмотрел в wireshark ответ сервера:
Отредактировано (Июль 18, 2009 16:16:36)
Офлайн
не понимаю что он отдаёт!
добавил в код вывод HEX кодов первых 10-ти символов:
conn.request('GET', redirect_location,{},headers)
resp = conn.getresponse()
print resp.status
print resp.getheaders()
data = resp.read()
conn.close()
print ord(data[0])
print ord(data[1])
print ord(data[2])
print ord(data[3])
print ord(data[4])
print ord(data[5])
print ord(data[6])
print ord(data[7])
print ord(data[8])
print ord(data[9])
f = open("result.htm", "w")
f.write( data )
f.close()
Отредактировано (Июль 18, 2009 18:12:57)
Офлайн
Ребята, ответ найден!
Всему виной была одна строчка в заголовках. Кто угадает - тому пирожок.
Завтра напишу ответ.
Отредактировано (Июль 18, 2009 18:44:54)
Офлайн