2013-03-25 161 views
2

上一個URLConnection問題UrlConnection.getHeaderField(字符串名稱)返回null

連接對象通過調用上的URL的openConnection()方法和一般請求manipualted創建工作。然後我初始化一個字符串,我期待從函數getHeaderfield(字符串名稱)uniqueid。之後,我需要使用connect()方法執行到遠程對象的實際連接。

call for openConnection() 
    String uniqueid=null; 
    call for connect() 
    uniqueid=UrlConnection.getHeaderField(Headername); 

這裏我將uniqueid的值設置爲null。

當我研究了主題後,我才知道實際函數getHeaderField(string)僅返回null(在java.net.UrlConection.class下的java包中的rt.jar中找到)。

但oracle文檔說 http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLConnection.html#getHeaderField%28java.lang.String%29 它返回指定標頭的值。任何人都可以解釋getHeaderField()方法的行爲嗎?

回答

5

java.net中的UrlConnection是抽象的,因此您使用的UrlConnection可能是一個子類(可能是匿名的)。

嘗試使用.getClass()將UrlConnection的類名打印到實際使用的內容上,然後查看該文檔。至於爲什麼你得到空,我猜你提供的headerName不匹配頭中的任何東西。嘗試使用.getHeaderFields()獲取所有標題的地圖,然後輸出keySet()以查看標題是否存在。

+0

'getHeaderFields()'方法顯示了我確切返回了哪些頭文件。謝謝。 – toobsco42 2013-08-28 23:50:24

0

如果沒有移動數據或WiFi連接,getHeaderFields()可能會返回null。

相關問題