Я пытаюсь создать код, который отправит HTTP-запрос на сайт и сохранит содержимое в HTML-файле с помощью scapy.Извлечение содержимого пакета с использованием сценария Python
Так что, если мой код:
r = Ether()/IP(dst=cache_ip)/TCP()/"GET /index.html HTTP/1.0 \n\n"
b = str(r)
http.write(b)
print "html page is ready, check your html files folder to check"
http.close()
И cache_ip является IP от Google, чем выход должен быть HTML страница Google сохраняется в HTML-файл на моем компьютере ... Я получаю вместо внесения этого:
ÿÿÿÿÿÿ<¨*â[email protected] Þ QÚûPP PÛGET /index.html HTTP/1.0
Теперь я знаю, что для работы, такой как запросы, существует гораздо лучший модуль, но моя миссия состоит в том, чтобы делать это только в scapy. Если кто-нибудь может указать на проблему и предложить лучший код для работы, написанной с использованием scapy, это будет замечательно.
Редактирование - я попытался использовать рукопожатие tcp, но теперь я пытаюсь записать содержимое в свой html-файл и из некоторых причина я не могу сделать IT-
http = open(os.path.dirname(
os.path.abspath(inspect.getfile(inspect.currentframe()))) + "/html_saved_pages/" + url + ".html", "w")
update_history(url)
syn = IP(dst=cache_ip)/TCP(dport=80, flags='S')
syn_ack = sr1(syn)
syn_ack
getStr = 'GET/HTTP/1.1\r\nHost:'+cache_ip+'\r\n\r\n'
request = IP(dst=cache_ip)/TCP(dport=80, sport=syn_ack[TCP].dport,
seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1, flags='A')/getStr
reply = sr(request)
http.write(reply)
print "html page is ready, check your html files folder to check"
http.close()
Сжатый? Проверьте заголовок содержимого. – tripleee
Что вы meen –
https://en.wikipedia.org/wiki/HTTP_compression – tripleee