簡體   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