我正在尝试编写一个小的HTTP本地代理服务器,以便在我的机器上运行并运行一些测试。 我的服务器目前运行良好,可以很好地满足要求。
然而,当我试图分析包装工时 - 我遇到了问题。
我在我的数据包中搜索标记“”,并在找到它时将消息打印到日志中。 它适用于数量非常有限的网站,而另一方面,例如StackOverflow,它没有。
在搜索接收数据中的单词之前,是否需要进行某种解码?如果是这样 - 哪个解码?如何重新编码数据以提供给浏览器?
这是我的搜索和替换代码:
data = i.recv(8192)
if data:
if "<head>" in data:
print "Found Head Tag."
上面的代码是一个简单的python代码,用于从套接字中检索数据,将其保存到数据对象,以及搜索所需的标记。正如我所说,它适用于很少的网站,而不是其他网站。
答案 0 :(得分:1)
许多网络服务器使用压缩来降低带宽使用率。 您需要检查Content-Encoding的HTTP标头并应用所需的操作(即gzip解压缩)以获取纯文本。