java - 如何正确输出HTTP请求报文

标签 java

我使用以下代码来输出HTTP请求消息。但在浏览器输出 HTTP 请求后,循环永远不会结束。看来bufferReader只是在输出HTTP请求后等待新字节。

InputStream inputStream = socket.getInputStream(); // socket is returned by 
                                                   // serverSocket.accept()
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

// output HTTP request              
String line;
while ((line = bufferedReader.readLine()) != null) { // the loop never ends 
    System.out.println(line);       
}

最佳答案

我同意姆哈桑的观点。如果您提前知道消息的预期长度,则可以读取那么多字节,然后显式退出循环。

请参阅此答案中的代码示例:https://stackoverflow.com/a/19863726/2751039

关于java - 如何正确输出HTTP请求报文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40220200/

相关文章:

java - 我无法让碰撞在 Java 中运行

Java:如何从 AbstractAction 对象引用 GUI 组件?

java - 另一个 SwingWorker 的 done 方法中的 SwingWorker

java - 分而治之最大连续子数组 (MCS) 问题

java - 将数字从 NumberPicker 发送到另一个 Activity,该 Activity 使用该数字作为 CountDownTimer 的开始时间

java - BufferedReader 有时读取文本,有时不读取

java - 将一个节点拖放到另一个节点中

java - HttpURLConnection OutputStream 问题

java - 将字符串生成器传递给文档

java - 配置单元仅创建 2 列