2

处理 URlconnection 问题

连接对象是通过在 URL 上调用 openConnection() 方法创建的,并且对一般请求进行操作。然后我初始化了一个字符串,我期望函数 getHeaderfield(string name) 有一个 uniqueid。之后,我需要使用 connect() 方法执行与远程对象的实际连接

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

在这里,我将 uniqueid 的值设为空。

当我研究主题时,我知道实际函数 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()method 的行为?

4

2 回答 2

5

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

尝试使用 .getClass() 将 UrlConnection 的类名打印到您实际使用的内容,然后查看该文档。

至于为什么你得到空值,我猜你提供的 headerName 与标题中的任何内容都不匹配。尝试使用 .getHeaderFields() 获取所有标题的映射并打印 keySet() 以查看您的标题是否在其中。

于 2013-03-25T18:28:29.110 回答
0

如果没有移动数据或 WiFi 连接,getHeaderFields() 可能会返回 null。

于 2015-07-05T00:09:12.633 回答