无法使用Java的URLConnection获取响应头位置

Yan*_*lan 12 java http urlconnection

有人可以在这里建议我做错了吗?
我试图让这里使用Java某个URL头的位置是我的代码:

URLConnection conn = url.openConnection();
String location = conn.getHeaderField("Location");  
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我确实知道我正在引用的URL返回Location头并使用getContentType()或getContentLength()之类的方法完美地工作

你的建议一如既往地受到赞赏:)

谢谢

axt*_*avt 15

也许Location标头作为重定向响应的一部分返回.如果是这样,URLConnection句柄通过向指向的资源发出第二个请求自动重定向,因此您需要禁用它:

((HttpURLConnection) conn).setInstanceFollowRedirects(false);
Run Code Online (Sandbox Code Playgroud)

编辑: 如果您确实需要重定向目标的URL并且不想禁用重定向处理,则可以getURL()改为调用(在建立连接之后).