简体   繁体   English

卷发正常,但相应的HttpConnection POST请求失败,并显示400错误

[英]Curl works but corresponding HttpConnection POST request fails as 400 error

Here is my curl request , which works perfectly fine. 这是我的curl请求,效果很好。

curl -X POST http://build-master-mobile.xxx.com:8080/job/Reprovision-IPA/build --data-urlencode json='{"parameter": [{"name":"IPA_URL","value":"xxx"}, {"name":"IPA_FILENAME","value":"xxx.ipa"}]}' curl -X POST http://build-master-mobile.xxx.com:8080/job/Reprovision-IPA/build --data-urlencode json ='{“ parameter”:[{“ name”:“ IPA_URL”, “ value”:“ xxx”},{“ name”:“ IPA_FILENAME”,“ value”:“ xxx.ipa”}]}'

Now I am trying to do this post from my java code using Httpconnection as shown below, but it gives me 400 bad request. 现在,我尝试使用Httpconnection从我的Java代码进行发布,如下所示,但它给了我400错误的请求。 Can the experts help me with this please. 专家能帮我这个忙吗?

    URL url = new URL("http://build-master-mobile.xxx.com:8080/job/Reprovision-IPA/build"); 
    URLConnection urlConnection = url.openConnection();
    HttpURLConnection httpConn = (HttpURLConnection)urlConnection;
    httpConn.setRequestProperty("Accept", "application/json");
    httpConn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
    httpConn.setRequestProperty("Connection", "keep-alive");
    httpConn.setRequestMethod("POST");

    String data = "{\"parameter\":[{\"name\":\"IPA_URL\",\"value\":\"xxx\"},{\"name\":\"IPA_FILENAME\",\"value\":\"xxx.ipa\"}]}";

    httpConn.setDoOutput(true);
    httpConn.setDoInput(true);
    // send request

        OutputStreamWriter wr = new OutputStreamWriter(httpConn.getOutputStream());
        wr.write(data.toString());
        wr.flush();
        wr.close();

    BufferedReader rd = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
    while ((line = rd.readLine()) != null) {
        result.append(line);
    }
    rd.close();

You missed the content type and json, check below: 您错过了内容类型和json,请检查以下内容:

URL url = new URL("http://build-master-mobile.xxx.com:8080/job/Reprovision-IPA/build"); 
URLConnection urlConnection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection)urlConnection;
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("Connection", "keep-alive");
httpConn.setRequestMethod("POST");

String data = "json='{\"parameter\":[{\"name\":\"IPA_URL\",\"value\":\"a\"},{\"name\":\"IPA_FI‌​LENAME\",\"value\":\"a.ipa\"}]}'";

httpConn.setDoOutput(true);
httpConn.setDoInput(true);
// send request

    OutputStreamWriter wr = new OutputStreamWriter(httpConn.getOutputStream());
    wr.write(data.toString());
    wr.flush();
    wr.close();

BufferedReader rd = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
while ((line = rd.readLine()) != null) {
    result.append(line);
}
rd.close();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM