3

我试过这种方式发送 HTTP POST 请求:Java - 通过 POST 方法轻松发送 HTTP 参数

但问题是:如果我需要连接到指定的端口号如 8080 怎么办?因为如果我这样做

String request = "http://example.com:8080/index.php";

它给了我

java.net.ConnectException:操作超时

4

1 回答 1

0

您可能需要连接到该端口号,因为您要访问的服务正在侦听该端口。在这种情况下,尝试将端口号添加到 URL 是正确的。

现在您可能会收到“连接被拒绝”。如果另一端没有进程监听以接受连接,则可能会发生这种情况。这甚至可能意味着正在运行的服务对您的连接不感兴趣。请记住,可以将某些服务器进程配置为仅接受具有特定限制的连接。

您可能还会收到类似“无主机路由”、“未知主机名”或表示网络问题的信息。另一个这样的网络问题是连接超时,今天通常指向防火墙拒绝访问。

总结一下:注意你有一个连接异常。这意味着尚未建立 TCP 连接 - 那时 HTTP 尚未启动,无论您打算 GET 还是 POST 都没有关系。我认为您在客户端做得很好,也许您需要检查服务器端为什么它不接受您的传入连接。

于 2021-02-14T11:24:27.307 回答