我编写了一个代码,用于通过java中的套接字发送HTTP请求。现在我想获取由我发送HTTP请求的服务器发送的HTTP响应。
答案 0 :(得分:2)
你所要求的并不完全清楚。假设您已将请求写入套接字,那么您接下来要做的就是:
shutdownOutput()
告诉服务器请求已完成(如果您已发送内容长度则不需要)这是一堆工作,所以我建议不要滚动你自己的HTTP请求逻辑,而是使用内置于Java的URLConnection,并包括检索响应内容的方法。作为服务器设置的任何标头。
答案 1 :(得分:0)
Jon说,请阅读HTTP规范。但是Internet协议通常是面向行的,因此您可以一次读取一行响应。第一行是响应。接下来将是标题,每行一个(除非有延续)。如果有一个正文,其中一个标题将是内容类型,这将告诉您内容是什么。如果您想阅读内容,您需要了解内容的不同发送方式。可能有一个内容长度标题(或没有)或内容可能被分块(不能记住我头顶的标题)。当然,内容可能是二进制而不是文本。
答案 2 :(得分:0)
烨! 那是对的!
响应应该由输入流明确地引入 几块字节...... 因此我们可以将其翻译成可读格式。 但这也需要更长的时间.... :(