当前位置: 首页 > 知识库问答 >
问题:

如何使用HttpURLConnection对象从远程服务器获得响应?

邓业
2023-03-14

我正在尝试使用HttpURLConnection类的实例向远程服务器发送HTTP POST请求。尽管我能够得到响应代码和响应消息,但当我尝试将输入流写入StringBuffer时,我实际上无法读取任何行。

当我分析从WireShark发送的数据包时,我注意到远程服务器正在发送一个完整的响应。我唯一的猜测是,为什么我在Java程序中看不到它,是因为我试图从InputStream中读取的时间太晚了。

那么,如何使用我的HttpURLConnection对象从远程服务器读取即时、完整的响应?以下是我正在使用的代码:

HttpURLConnection conn = null;
String urlStr = "...";
URL url = null;
try
{
    url = new URL(urlStr); 
    conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);
...
    BufferedReader rd = new BufferedReader(
                new InputStreamReader(conn.getInputStream()));
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = rd.readLine()) != null)
    {
         sb.append(line);
    }
    rd.close();
...
}...

共有1个答案

施昊然
2023-03-14

好吧,没关系。事实证明,我要找的是HTTP Respone的头文件。因此,通过查看标题,我得到了所需的内容。::掌心:

 类似资料:
  • 在过去的几天里做了一些阅读后,我已经取得了一些进展,下面是我想出的代码: 主要活动: HTTPRequest 没有错误,一切运行正常,但问题是-我已经建立了这个代码作为一个测试,如果我可以登录我试图登录的网站,但我无法从中获得任何信息。在我按下按钮后,似乎发生了什么事情,我发送到用户界面线程的输入流给了我这个:“java.io.BufferedInputStream@afe19b8”,每次按下按钮

  • 我正在尝试创建一个todo-list应用程序,并在每种类型的请求上与邮递员进行检查。GET和POST请求工作正常。但PUT和DELETE没有按预期工作。 正如预期的意思:它不显示404,也不显示结果,而是显示一个错误,即不能得到任何响应。 下面是我的put和delete代码: 现在,我不知道是不是虫子什么的。

  • 我正在进行一个开发,向远程web服务发送请求,并使用获得响应。 在本例中,我使用下面提到的WSDl的成功地生成了客户端wsdl2java代码。 示例WSDL URL: 在做了一些研究之后,我创建了下面的示例代码,用于向其中定义的web服务发送SOAP请求,并使用生成的客户机代码获得apache Camel的响应。 我只想向远程web服务发送一个SOAP请求,并使用apache Camel获得响应。

  • 因此,我正在尝试让框架设置来制作一个discord bot,它将检查用户专用服务器是否打开并相应地更新消息。我目前在本地网络中的一台独立计算机上运行Minecraft和Valheim服务器。 我试图使用微软的Ping类,但它不能Ping Valheim服务器。似乎Valheim正在使用UDP协议,所以我尝试使用UdpClient类来发送消息,但是它仍然处于“WaitingForActivation

  • 问题内容: 我经常在Netty工作,但仍然有一个概念在暗示我,在教程等中找不到任何内容。首先,我确实了解Netty是异步的,但是客户端必须有一种方法来调用服务器,并且能够获得处理程序之外的响应。让我解释更多。 我有一个客户,如下图所示。并且请注意,我知道它是自举的,并且在每次调用时都会建立一个新的连接,这是为了使示例更小,更简洁。请忽略这个事实。 客户端.java 现在,我了解了如何获取服务器上的

  • HTTP/1.1 200确定缓存-控制:max-age=0,必须重新验证 内容-处置:附件;filename=“执行摘要.pdf” 内容-类型:application/pdf