【问题标题】:Http Request and Response is not returning anythingHttp请求和响应没有返回任何东西
【发布时间】:2019-12-30 17:15:12
【问题描述】:

我正在尝试仅使用 ServerSocket 和 Socket 在 localhost 上使用端口 8080 编写代理服务器。我只想从网站上查看 TEXT。我已经创建了 HTTP 请求,但我不确定它是否写得好。问题在于来自服务器的 HTTP 响应,因为它没有返回任何内容。但首先我想知道请求是否良好。

然后在线程中我只是读取请求并将其发送到服务器:

BufferedReader fromClient = new BufferedReader(new InputStreamReader(socket.getInputStream());
HttpRequest req = new HttpRequest(fromClient);
Socket server = new Socket(req.getHost(), req.getPort());
DataOutputStream toServer = new DataOutputStream(server.getOutputStream());
toServer.writeBytes(req.toString());

【问题讨论】:

  • 来自How to create a Minimal, Reproducible Example请勿使用代码图像。从代码编辑器复制实际文本,将其粘贴到问题中,然后将其格式化为代码。这有助于其他人更轻松地阅读和测试您的代码。

标签: java server proxy httprequest httpresponse


【解决方案1】:

让我们把这个问题分成几个部分:

  1. 请提供更多详细信息,例如您是否只创建 HTTP 代理?您是否有一个仅提供文本的网站,也就是您要针对哪个网站测试您的代理?
  2. 检查您的服务器是否实际运行正常。打开终端并输入 wget website_name_here 。这将告诉您服务器本身是否存在配置问题。这将确认来自服务器的 HTTP 响应是否足够好。
  3. 检查 HTTP 请求是否缺少某些内容。安装Wireshark 并捕获出站HTTP 数据包,然后检查您的HTTP 请求是否缺少某些内容。 Wireshark 应该自动标记任何丢失的东西。您可以了解更多关于 HTTP 响应 here

【讨论】:

    猜你喜欢
    • 2021-10-23
    • 2015-02-11
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2019-04-22
    • 1970-01-01
    相关资源
    最近更新 更多