Làm thế nào để bạn thực hiện một HTTP PUT? Lớp tôi đang sử dụng dường như nghĩ rằng nó đang làm một PUT nhưng điểm cuối đang xử lý nó như thể tôi đã làm một GET. Tôi có làm gì sai không?Java: HTTP PUT với HttpURLConnection
URL url = new URL("https://...");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("PUT");
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(xmlString);
writer.close();
System.out.println(conn.getRequestMethod());
String response = readInputStream(conn.getInputStream());
System.out.println(response);
Đó là in ấn:
PUT
<same content as doing a GET>
Tôi không muốn bao gồm một thư viện nếu điều này có thể làm việc ...
Tất cả lưu lượng truy cập của tôi là https tới máy chủ từ xa ... và Wireshark không thể thấy nhiều bên trong đó. Đánh nó với curl so với java DOES trông khác, nhưng tôi nên tìm gì? –
Ý tưởng hay. Tôi đã liên lạc với họ và có một máy chủ HTTP để thử nghiệm. Tôi thấy vấn đề của tôi là thiếu tiêu đề Loại Nội dung bị máy chủ của họ từ chối. Cám ơn rất nhiều. –