[英]Using jpcap to capture html
我在发出HTTP请求时尝试打印响应数据,其中jpcap嗅探数据包。
我设法获得了一些标题信息,但是我无法获得实际的HTML内容。 这是我正在使用的代码:
try {
NetworkInterface[] devices = JpcapCaptor.getDeviceList();
System.out.println("Opening interface");
JpcapCaptor captor=JpcapCaptor.openDevice(devices[0], 65535, true, 20);
captor.setFilter("ip and tcp", true);
while(true) {
Packet thisPacket = captor.getPacket();
if(thisPacket != null) {
TCPPacket p = (TCPPacket)thisPacket;
System.out.println(p.toString());
}
}
} catch (Exception e) {
System.out.println("Error: " + e );
}
谢谢您的帮助
由于您能够读取HTTP标头,但无法读取HTML内容,因此我猜想HTTP响应的主体已被压缩(例如,使用gzip)。 您可以识别压缩的响应,因为HTTP响应标头包含以下行:
Content-Encoding: gzip
如果您可以发布程序输出的示例,我们可以证实这一理论。 在这种情况下,应该使用解压缩实体主体来获取服务器发送的HTML。
有关HTTP内容编码的更多信息,请参阅RFC 2616 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.