Http 请求和响应不返回任何内容

Http Request and Response is not returning anything

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

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

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());

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

  1. 请在问题中提供更多详细信息,例如您是否仅创建 HTTP 代理?您是否有一个仅提供文本服务的网站,也就是您要针对哪个网站测试您的代理?
  2. 检查您的服务器是否确实 运行 正常。打开终端并输入 wget website_name_here 。这将告诉您服务器本身是否存在配置问题。这将确认来自服务器的 HTTP 响应是否足够好。
  3. 检查HTTP请求是否缺少什么。安装 Wireshark and capture outbound HTTP packet, then check if your HTTP Request is missing something. Wireshark should automatically flag anything missing. You may learn more about HTTP Response here