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

当我调用connect()时,Java HttpURLConnection无法连接

顾学真
2023-03-14
问题内容

我正在尝试编写一个程序在我的Web应用程序上进行自动化测试。为此,我使用HttpURLConnection打开了一个连接。

我要测试的页面之一执行302重定向。我的测试代码如下所示:

URL currentUrl = new URL(urlToSend);
HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection();
connection.connect();
system.out.println(connection.getURL().toString());

因此,假设urlToSend是http://www.foo.com/bar.jsp,并且此页面将您重定向到http://www.foo.com/quux.jsp。我的println语句应打印出http://www.foo.com/quux.jsp,对吗?

错误。

重定向永远不会发生,它会打印出原始URL。但是,如果我通过调用connection.getResponseCode()更改出connection.connect()行,则可以正常使用。

URL currentUrl = new URL(urlToSend);
HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection();
//connection.connect();
connection.getResponseCode();
system.out.println(connection.getURL().toString());

为什么我会看到这种行为?我做错什么了吗?

谢谢您的帮助。


问题答案:

connect()方法只是创建一个连接。你必须提交请求(通过调用getInputStream()getResponseCode()getResponseMessage()),用于将被返回并处理该响应。



 类似资料:
  • 问题内容: 我发现此错误: 无法在已卸载的组件上调用setState(或forceUpdate)。这是空操作,但它表明应用程序中发生内存泄漏。要解决此问题,请在componentWillUnmount方法中取消所有订阅和异步任务。 上下文:当我连接时,我在主页上,该页面上不包含面包屑,但是如果我继续(也是组件的名称),则我拥有(组件名称),我发现了此错误。 在我看到的其他文章中,他们说可能是异步打

  • 当我试图从顶点调用数据库时,我得到了一个ContextNotActiveExctive。当通过Rest路由器调用时,一切都正常。 部署垂直线: 我的眩晕: 此行出现异常: javax。企业上下文ContextNotActivieException:接口javax。企业上下文请求的范围是io。夸克斯。冬眠奥姆。运行时。RequestScopedEntityManagerHolder_客户端代理。ar

  • 问题内容: 我在一个教程中找到了这个示例。 当我运行此程序时,我的hs.size()值为2 ..,并且equals方法仅被调用一次。有人解释了我何时在HashSet中调用equal()方法 当上述程序中的equal方法调用时 问题答案: 您的代码将调用的唯一一次。另一次调用方法将是对的类。 此答案说明何时由和何时调用方法。摘录: HashSet利用哈希码来加快处理速度。假定彼此相等的两个对象将具有

  • 解决方案(更新): 我认为任何操作都会导致react-redux-link调用mapState函数,但是当一个操作没有改变任何事情时,情况就不是这样了。 我有一个localStorage模块,它分派操作,但不更改状态,而是写入localStorage。该模块具有容器中使用的选择器,但在状态实际更改之前不会调用这些选择器,因此只有在调度另一个更改状态的操作后,UI才会正确显示。 问题 当我把商店放在

  • 我已经使用Eclipse很长一段时间了,但是我最近遇到了一个错误,这个错误现在真的困扰着我,因为我无法使用调试器。我可以正常运行我的程序,但不能运行调试器。这是我尝试使用调试器运行时得到的: 启动CarLoanUser时遇到问题无法连接到虚拟机无法连接到虚拟机com . sun . jdi . connect . transporttimeoutexception 在控制台中: 本机方法中的致命错

  • 我知道,这个问题已经在不同的论坛上被问了很多次,但我仍然无法找到一个解决方案,这解决了我的问题...情况:我们在服务器上有一个nginx、php-fpm和MySQL堆栈。服务器位于nginx反向代理之后。问题是,在上游服务器上有干净的错误日志,而在反向代理上,我得到了多条消息 连接到>上游,客户端:+++++++++++,服务器:domain.com,请求:“Get>/files/imagecac