Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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
JAVA中带有JSON字符串的HTTP POST请求不起作用_Java_Json_Web Services_Http_Http Post - Fatal编程技术网

JAVA中带有JSON字符串的HTTP POST请求不起作用

JAVA中带有JSON字符串的HTTP POST请求不起作用,java,json,web-services,http,http-post,Java,Json,Web Services,Http,Http Post,我有下面的小代码从服务提供商那里获得json回复,我尝试过的是发布http post请求,但它总是抛出 java.net.UnknownHostException: directory.qantasloyalty.com at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.co

我有下面的小代码从服务提供商那里获得json回复,我尝试过的是发布http post请求,但它总是抛出

java.net.UnknownHostException: directory.qantasloyalty.com
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
    at java.net.Socket.connect(Socket.java:519)
    at java.net.Socket.connect(Socket.java:469)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:382)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:509)
    at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:278)
    at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:335)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:176)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:769)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:162)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:861)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
    at Test.Httptestpost.sendPost(Httptestpost.java:124)
    at Test.Httptestpost.main(Httptestpost.java:32)
有人能帮我找到原因吗


出于安全目的,我没有在此处共享确切的代理URL和http post webservice URL

请查看以下示例代码:- 公共静态字符串handlePostRequest(字符串X、字符串Y) 抛出IOException{

    URL url = new URL(X);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("Content-Length",
            String.valueOf(Y.length()));

    // Write data
    OutputStream os = connection.getOutputStream();
    os.write(Y.getBytes());

    // Read response
    String responseSB = "";
    BufferedReader br = new BufferedReader(new InputStreamReader(
            connection.getInputStream()));

    String line;
    while ((line = br.readLine()) != null)
        responseSB += line;

    // Close streams
    br.close();
    os.close();
    return responseSB;

}

您的代码没有与异常对齐,您在代码中使用的url是一个任意字符串
httpsurlhere
,其他代理参数请注意:不,伙计,我使用的是正确的url和正确的代理设置,仅出于安全目的,我在这些位置放置了一些任意字符串。谢谢您的回复,我已经e只使用相同的步骤完成了代码,但没有成功:(你的url、http或https是什么?)??
    URL url = new URL(X);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("Content-Length",
            String.valueOf(Y.length()));

    // Write data
    OutputStream os = connection.getOutputStream();
    os.write(Y.getBytes());

    // Read response
    String responseSB = "";
    BufferedReader br = new BufferedReader(new InputStreamReader(
            connection.getInputStream()));

    String line;
    while ((line = br.readLine()) != null)
        responseSB += line;

    // Close streams
    br.close();
    os.close();
    return responseSB;

}