UrlConnection.getHeaderField(字符串名称)返回null

时间:2013-03-25 18:19:34

标签: java http http-headers

处理URlconnection问题

通过在URL上调用openConnection()方法来创建连接对象,并且操作一般请求。然后我初始化了一个字符串,我期待函数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()方法的行为吗?

2 个答案:

答案 0 :(得分:5)

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

尝试使用.getClass()将UrlConnection的类名打印出来,然后查看该文档。

至于为什么你得到null,我猜你提供的headerName与标题中的任何内容都不匹配。尝试使用.getHeaderFields()获取所有标题的地图,然后打印keySet()以查看标题是否在那里。

答案 1 :(得分:0)

如果没有移动数据或WiFi连接,

getHeaderFields()可能会返回null。