【问题标题】:Java - Sending complete HTTP message (including headers, status line aso)Java - 发送完整的 HTTP 消息(包括标头、状态行)
【发布时间】:2013-03-12 18:42:23
【问题描述】:

由于某些原因,我需要开发自己的 HTTP 客户端。我设法使用 HTTP 协议,但我不知道如何通过 java 发送它...

例如,我收到了以下我想要发送的请求消息(我无法测试它,所以我不确定它的格式是否正确):

GET http://example.com HTTP/1.1
Transfer-Encoding:UTF-8
someOtherParam=thatIsThis&name=value

我所能找到的只是使用 URL.openConnection() 建立一个连接 - 但通过该连接,我无法发送整个消息,但必须通过 connection.addRequestProperty() 方法放置标头值。

谁能帮助我并告诉我如何将这样的消息发送到服务器?

(是的;我确实知道 Apache HttpComponents 之类的库 :))

最好的问候,

马丁·鲍里斯

【问题讨论】:

  • 您必须使用裸套接字或非常低级别的网络库才能深入控制协议。我希望您在此过程中非常熟悉HTTP specification
  • 对不起,回答错误,我很抱歉。首先设置查询字符串。接下来,使用 URL url = new URL (urlPath+"?"+queryStr);然后 url.openConnection(),获取一个 URLConnection,从中获取一个 InputStream 来读取来自服务器的响应。

标签: java http


【解决方案1】:

感谢您的帮助 - Sockets 做到了 :)。

对于遇到相同问题的任何人:使用套接字 - 您可以简单地编写和接收消息并实现自己的 HTTP 实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2010-10-08
    • 2021-12-09
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多