解决 URl 连接问题
通过在 URL 上调用 openConnection() 方法来创建连接对象,并处理一般请求。然后我初始化了一个字符串,其中我期望函数 getHeaderfield(string name) 提供一个 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 它返回指定 header 的值。任何人都可以解释 getHeaderField() 方法的行为吗?
最佳答案
java.net 中的 UrlConnection 是抽象的,因此您正在使用的 UrlConnection 可能是一个子类(可以是匿名的)。
尝试使用 .getClass() 将 UrlConnection 的类名打印到您实际使用的内容,然后查看该文档。
至于为什么你得到空值,我猜你提供的 headerName 与 header 中的任何内容都不匹配。尝试使用 .getHeaderFields() 获取所有 header 的映射并打印 keySet() 以查看您的 header 是否在其中。
关于java - UrlConnection.getHeaderField(字符串名称) 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15621944/