我最近用java網絡試驗,我發現有些奇怪的事情,假設你有這是怎麼來的URL.openConnection()允許我讀取標題?
URL url = new URL("http://www.google.com");
URLConnection con = url.openConnection();
然後我可以調用的方法,如con.getContentLength()
等,他們會給我正確的價值觀,甚至不顧我沒't啓用con.connect()
。怎麼可能?我的意思是,URLConnection從哪裏得到這些標題,我沒有調用con.connect()
,所以沒有發送請求,所以當時沒有頭文件可用。
「所以沒有請求被髮送」。要求進行事實覈查。試試tcpdump,fiddler,ethereal,wireshark,嘗試禁用網絡。我99%的猜測:它在需要時爲您連接。 (編輯:其實,我會假設'url.openConnection()'打開連接 - 該方法的用法是什麼) – sehe
嘗試拔掉電纜,在這種情況下,我無法讀取標題。提琴手什麼也沒有顯示。不知道如何使用tcpdump,會嘗試wireshark。 – dhblah
不需要,真的嗎?你已經確定它實際上建立了連接。 – sehe