繁体   English   中英

使用jpcap捕获html

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM