gpt4 book ai didi

java - 在 Java 中读取 HTTP 消息

转载 作者:可可西里 更新时间:2023-11-01 16:31:18 28 4
gpt4 key购买 nike

首先,我承认这是一个学校项目,所以我需要更多的指导,而不是实际的代码。此外,我不能使用 java.net.HTTPURLConnection 和 java.net.URL 类来帮助...

好的...我正在用 Java 创建一个 HTTP 服务器,但无法读取 HTTP 消息。我需要允许持久连接(当使用 HTTP/1.1 且没有 Connection: close 时),这已经在工作了。但由于持久性,可能会有多个请求从管道中下来。

我知道我可以使用 Content-Length header 来确定消息正文的长度(以字节为单位)。之后,下一条消息将通过管道传输。

我的问题...

  • 我应该逐字节或逐字符读取消息,还是逐行读取?逐行进行直到到达消息正文为止......
  • 消息正文应该以字节格式保存,还是字符串可以(我知道 HTML 没问题,但如果通过字符串,图像等会损坏吗?)
  • 是否有扫描仪可以让我逐行阅读,然后当我点击消息正文时,调用 getBytes( contentLength ),它会给我正文?

再次感谢!

编辑:我不必支持分块或压缩数据。

最佳答案

我建议阅读字节数组。并且不要逐行读取,而是按字节 block 读取(您可以尝试使用内容长度作为 block 大小。请注意 read(byte[]) 返回实际读取的字节数,您仍然可能需要调用好几次)。

还要注意分块编码,虽然我承认我不知道服务器是否必须支持它,因为我一直只关心编码客户端。

关于java - 在 Java 中读取 HTTP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909032/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com