0
Как отправить параметры URL с методом HttpURLConnection DELETE?HttpURLConnection DELETE с параметрами url
Я использую ниже код:
String targetURL = "http://example.com/some:data?initiator_id=6724181421";
URL url = new URL(targetURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty ("dev_key", "12345");
connection.setReadTimeout(60000);
connection.setConnectTimeout(60000);
connection.setRequestMethod("DELETE");
connection.addRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
int responseCode = connection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer response = new StringBuffer();
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
}
Когда я выполнения выше код, который я всегда получаю ответ как недействительный initiator_id. Я тестировал то же самое с Postman и curl. Как в curl, так и в Postman работает.
Вы пытаетесь установить 'initator_id' в качестве параметра запроса (часть URL-адреса) или как параметр формы (встроенный в тело запроса)? – dnault
пытается добавить в качестве параметров запроса (часть URL-адреса). Когда я пытаюсь добавить в качестве параметра формы, я получаю исключение «HTTP-метод DELETE не поддерживает вывод» –
Я отправлял параметр формы как DataOutputStream wr = new DataOutputStream (connection.getOutputStream()); wr.writeBytes ("initiator_id = 6724181421"); wr.flush(); wr.close(); Но получение исключения «HTTP-метод DELETE не поддерживает вывод» –