当前位置: 首页 > 面试题库 >

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

邹京
2023-03-14
问题内容

有人可以建议我在这里做错什么吗?
我正在尝试使用Java获取特定URL的标头位置,这是我的代码

URLConnection conn = url.openConnection();
String location = conn.getHeaderField("Location");

这很奇怪,因为我确定我要确保返回的URL标头是URL,并且使用诸如getContentType()或getContentLength()之类的方法可以完美地工作


问题答案:

可能Location标头作为重定向响应的一部分返回。如果是这样,则URLConnection通过向指向的资源发出第二个请求来自动处理重定向,因此您需要禁用它:

((HttpURLConnection) conn).setInstanceFollowRedirects(false);

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



 类似资料:
  • 问题内容: 有什么方法可以获取原始响应的HTTP标头? 该方法对我不起作用,因为服务器吐出了多个“ Set-Cookie”,其中一些丢失了。 问题答案: 该方法对我不起作用 您是在的情况下问这个的吗?不可以,无法使用原始HTTP响应标头。您需要退回到低级的Socket编程。这是一个SSCCE,只需复制“ 粘贴 ”即可运行它。 为了避免每个尝试此代码片段的人都使SO过载,输出如下所示: 要了解有关以

  • 我在我的swift应用程序中使用Moya进行网络请求。 我能够获得请求和映射结果使用Moya-Object Mapper。 我以前使用过alamofire,我熟悉如何进行post,获取请求和阅读响应头。 然而,我似乎无法理解我怎么能在莫亚也这样做。 我确实浏览了文档,但它没有说明任何关于读取响应头的内容。 有没有任何例子或教程,我可以遵循如何做一个HTTP身份验证和读取响应头。以及如何发出post

  • 您只能使用HTTP HEAD请求报头,如中的选项。 冗长的HTML响应体在命令行中很难得到,所以我希望只得到标题作为POST请求的反馈。但是,头和岗是两种不同的方法。 如何使curl只显示POST请求的响应头?

  • 问题内容: 如何从WebView获得HTTP标头响应?我找到了半解决方案,但是它是用Objective- C编写的,不能将其转换为Swift(我已经尝试过使用较差的Obj-C知识了)。 Objective-C代码: 该代码将如何看待Swift? 也许现在我们有更好的方法呢?并不总是启用缓存。 问题答案: 迅速 斯威夫特更严格; 您想保护自己免受指针和: 检查实际是否有 检查实际是否有 对响应进行类

  • 问题内容: 好的,因此我可以使用访问HTTP ajax响应标头 但似乎没有日期,尽管它在那里: 而代码只显示了这一点: 这是ajax调用: 有没有办法可以在响应头中获取日期? 问题答案: 这有帮助:

  • 问题内容: 我正在使用api调用,它正在发送一些自定义标头,例如。但是我还不知道如何阅读它们。在函数内部,是一个应该给我所有标头的哈希值的函数,但仅显示标头。有没有办法获取响应头? 问题答案: 自定义标题将在同一域中可见。但是,对于跨域情况,服务器必须发送标头以使自定义标头可见。