выполнение запроса POST с данными формы с использованием HttpURLConnection - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно сделать запрос POST к внешнему API, используя HttpURLConnection.Запрос POST включает данные формы в части тела.Когда запрос сделан с почтальоном, я могу выбрать данные формы в разделе тела.Как мне добиться этого с помощью кода Java

connection = connectionURL.openConnection();

HashMap<String,String> hashmap = new HashMap<String,String>();
hashmap.put("JSONObject","{name:\"Contact from Java\"}");

//Set request method 
((HttpURLConnection) connection).setRequestMethod("POST");

//Set request headers 
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
connection.setRequestProperty("Authorization", "authtoken");

connection.setDoInput(true);
connection.setDoOutput(true);

DataOutputStream writer = new DataOutputStream(connection.getOutputStream());
writer.writeBytes(hashmap.toString());

writer.flush();
writer.close();

Отредактированный код

    connection = connectionURL.openConnection();

    HashMap<String,String> hashmap = new HashMap<String,String>();
    hashmap.put("JSONString","{name:\"Contact from Java\"}");

    //Set request method 
    ((HttpURLConnection) connection).setRequestMethod("POST");

    //Set request headers 
    connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
    connection.setRequestProperty("Content-Type", "application/x-www-form-url-encoded;charset=UTF-8");
    connection.setRequestProperty("Authorization", "authtoken");

    connection.setDoInput(true);
    connection.setDoOutput(true);

    DataOutputStream writer = new DataOutputStream(connection.getOutputStream());
    writer.writeBytes(hashmap.toString());

    writer.flush();
    writer.close();

Это запрос, который я пытаюсь сделать с Java This is the request i'm trying to do with Java ивот мой ответ

enter image description here

В чем моя ошибка? Спасибо заранее

...