Java 使用指定的端口号发送HTTP POST请求

Java 使用指定的端口号发送HTTP POST请求,java,Java,我尝试通过以下方式发送HTTP POST请求: 但问题是:如果我需要连接到一个指定的端口号,比如8080,该怎么办?因为如果我这样做了 String request = "http://example.com:8080/index.php"; 它给了我 java.net.ConnectException:操作超时 您可能需要连接到该端口号,因为您要访问的服务正在该端口上侦听。在这种情况下,尝试将端口号添加到URL是正确的 现在您可能会收到“连接被拒绝”。如果没有进程侦听另一端以接受连接,则可能

我尝试通过以下方式发送HTTP POST请求:

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

String request = "http://example.com:8080/index.php";
它给了我

java.net.ConnectException:操作超时

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

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

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


总而言之:请注意您遇到了一个Connectexception。这意味着TCP连接没有建立——在那个时候HTTP没有启动,无论您打算获取还是发布都没有关系。我认为您在客户端做得很好,也许您需要检查服务器端为什么不接受您的传入连接。

那么这可能不是您的服务部署到的端口。@SotiriosDelimanolis所以这是使用指定端口号调用服务的正确方法?我的意思是,把它附加到url?你能用我们的浏览器连接到url吗?可能会发布一个带有插件的http post,如或,以查看它是否从您尝试与Java连接的同一台机器上正确响应。@缓存,是的(但您应该发布代码的相关部分,以便我们查看)。@AnthonyAccioly奇怪的是,我可以使用Dev http client发送请求,但我不能用代码来实现这一点。