Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
504使用Java HttpClient时网关超时_Java_Apache Httpclient 4.x_Java Http Client - Fatal编程技术网

504使用Java HttpClient时网关超时

504使用Java HttpClient时网关超时,java,apache-httpclient-4.x,java-http-client,Java,Apache Httpclient 4.x,Java Http Client,我有一个通过POST调用的HTTP监听服务。使用诸如curl、邮递员等软件,请求成功(状态代码200) 我需要从Java使用这个服务。但是使用Java11的本机,我得到一个504网关超时 HttpClient=HttpClient.newHttpClient(); HttpRequest请求=HttpRequest.newBuilder()。 标题(“内容类型”、“应用程序/json”)。 uri(uri.create(service\uURL))。 POST(HttpRequest.bodyp

我有一个通过POST调用的HTTP监听服务。使用诸如
curl
、邮递员等软件,请求成功(状态代码200)

我需要从Java使用这个服务。但是使用Java11的本机,我得到一个504网关超时

HttpClient=HttpClient.newHttpClient();
HttpRequest请求=HttpRequest.newBuilder()。
标题(“内容类型”、“应用程序/json”)。
uri(uri.create(service\uURL))。
POST(HttpRequest.bodypublisher.ofString(json_string)).build();
HttpResponse res=client.send(请求,HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode());//504
尝试使用Apache HttpClient库时,调用成功:

StringEntity requestEntity=新建StringEntity(
json(字符串,ContentType.APPLICATION(json));
CloseableHttpClient httpclient=HttpClients.createDefault();
HttpPost HttpPost=新的HttpPost(服务url);
httpPost.setEntity(requestEntity);
CloseableHttpResponse res=httpclient.execute(httpPost);
System.out.println(res.getStatusLine().getStatusCode())//200

为什么它不能与Java native
HttpClient
一起使用?调用之间有什么区别?

问题可能不是库或请求本身,而是防火墙、服务器连接、dns问题或web服务器问题。使用此Http客户端向您的任何其他服务请求是否成功?@edward_wong是的,使用Java HttpClient请求其他服务确实可以。这就是为什么我不知道这里的问题是什么,只有此服务失败,而且只有Java HttpClient。您可以尝试打开日志记录
-Djdk.HttpClient.HttpClient.log=头、请求、错误
-这可能会揭示一些问题…问题可能不在于库或请求本身,而在于防火墙、服务器连接,dns问题或web服务器问题。使用此Http客户端向您的任何其他服务请求是否成功?@edward_wong是的,使用Java HttpClient请求其他服务确实可以。这就是为什么我不知道这里的问题是什么,只有此服务失败,并且只有Java HttpClient。您可以尝试打开日志记录
-Djdk.HttpClient.HttpClient.log=头、请求、错误
-这可能会泄露一些信息。。。