2013-03-25 120 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。

相关问题