Ich habe Restful WebServices, und ich send POST und GET HTTP-Anfrage, wie PUT und DELTE Anfrage HTTP in httpURLConection mit JAVA senden.Wie Senden PUT, DELETE HTTP-Anfrage in HttpURLConnection in JAVA
Antwort
PUT
URL url = null;
try {
url = new URL("http://localhost:8080/putservice");
} catch (MalformedURLException exception) {
exception.printStackTrace();
}
HttpURLConnection httpURLConnection = null;
DataOutputStream dataOutputStream = null;
try {
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpURLConnection.setRequestMethod("PUT");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
dataOutputStream = new DataOutputStream(httpURLConnection.getOutputStream());
dataOutputStream.write("hello");
} catch (IOException exception) {
exception.printStackTrace();
} finally {
if (dataOutputStream != null) {
try {
dataOutputStream.flush();
dataOutputStream.close();
} catch (IOException exception) {
exception.printStackTrace();
}
}
if (httpsURLConnection != null) {
httpsURLConnection.disconnect();
}
}
URL url = null;
try {
url = new URL("http://localhost:8080/deleteservice");
} catch (MalformedURLException exception) {
exception.printStackTrace();
}
HttpURLConnection httpURLConnection = null;
try {
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
httpURLConnection.setRequestMethod("DELETE");
System.out.println(httpURLConnection.getResponseCode());
} catch (IOException exception) {
exception.printStackTrace();
} finally {
if (httpURLConnection != null) {
httpURLConnection.disconnect();
}
}
danke ist perfekt !!! nur ich brauche Methode DELETE. !! – user2816207
Muss ich htpURLConnection.connect() nicht aufrufen? Wozu dient diese Funktion? –
können Sie außer Kraft setzen
protected void doPut(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException;
den HTTP-PUT Operation durchführt; Die Standardimplementierung meldet einen HTTP BAD_REQUEST-Fehler . Die PUT-Operation ist analog zum Senden einer Datei über FTP. Servlet-Writer, die diese Methode überschreiben, müssen beliebige Content- * Header, die mit der Anfrage gesendet werden, berücksichtigen. (Diese Header enthalten content-length, content-type, content-transfer-encoding, content-encoding, Inhaltsbasis, content-language, content-location, content-MD5 und content-range.) Wenn die Unterklasse kann einen Inhaltskopf nicht ehren, dann muss er eine Fehlerantwort (501) ausgeben und die Anfrage verwerfen. Weitere Informationen finden Sie im HTTP 1.1-RFC.
Diese Methode muss weder "sicher" noch "idempotent" sein. Durch PUT angeforderte Operationen können Nebenwirkungen haben, für die der Benutzer zur Verantwortung gezogen werden kann. Obwohl nicht erforderlich, können Servlet-Writer , die diese Methode überschreiben, möglicherweise eine Kopie des betroffenen URI im temporären Speicher speichern.
und
protected void doDelete(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException
führt der HTTP-Operation LÖSCHEN; Die Standardimplementierung meldet einen HTTP BAD_REQUEST-Fehler. Die DELETE-Operation ermöglicht es einem Client, anzufordern, dass ein URI vom Server entfernt wird. Diese Methode benötigt nicht, um entweder "sicher" oder "idempotent" zu sein. Operationen, die über angefordert werden, können zu Nebenwirkungen führen, für die Benutzer zur Verantwortung gezogen werden können. Obwohl nicht erforderlich, Servlet-Writer, die diese Methode Unterklasse möchten eine Kopie des betroffenen URI in temporärem Speicher speichern.
Das sind Servlet-API-Methoden, aber das OP fragt nach einem HTTP-Client Ich denke, –
Vielleicht, aber ich habe verstanden, dass er bereits ein Servlet implementiert hat, doGet und DoPut zu verwalten und möchte wissen, wie die anderen beiden Operationen – RamonBoza
implementieren Ich habe den Getter und PostT, muss ich implementieren, löschen und Methoden, aber nicht kommen, weil tengno ein Eingabeparameter kann mir helfen? - @MatthewGilliard – user2816207
DELETE Wenn ich die DELETE-Anforderung von @BartekM verwenden, ist es diese Ausnahme erhalten:
java.net.ProtocolException: DELETE does not support writing
es zu beheben, ich nur entfernen Sie diese Anweisung:
// httpURLConnection.setDoOutput(true);
- 1. Java: HTTP PUT mit HttpURLConnection
- 2. HttpURLConnection DELETE mit URL-Parametern
- 3. Persistent HttpURLConnection in Java
- 4. Load Test-Tool, das PUT/DELETE-Methoden senden kann
- 5. ASP.NET Handle PUT/DELETE Verben
- 6. PUT, DELETE mit JS-Anwendung (spine.js)
- 7. Formular mit HTTPURLConnection senden
- 8. Wie sende ich eine PUT/DELETE-Anfrage in HTML?
- 9. Android HttpURLConnection senden Parameter
- 10. Wie funktioniert HttpURLConnection in Java Modern Batch
- 11. PUT und DELETE aus HTML ohne JavaScript
- 12. Verwenden von PUT und DELETE-Methoden in Spring MVC
- 13. HTML5 PUT/DELETE-Methoden funktionieren nicht in Chrome?
- 14. PHP Get PUT und DELETE-Arrays in Controller
- 15. Wie senden Sie Anfrage mit Parametern in httpurlconnection?
- 16. RESTful PUT und DELETE und Firewalls
- 17. DRY jQuery für RESTful PUT/DELETE-Links
- 18. Kann ich PUT mit einer HttpUrlConnection verwenden, um ein Bild an mein freigegebenes Hostkonto zu senden?
- 19. Aktivierung von POST/PUT/DELETE in AWS CloudFront?
- 20. Java HttpURLConnection Klasse Programm
- 21. HttpURLConnection PUT zu Google Cloud Storage mit Fehler 403
- 22. Senden mehrerer Dateien in einem Beitrag Anfrage in HttpURLConnection in JAVA
- 23. java httpurlconnection abschneiden html
- 24. Wie aktiviert man DELETE, PUT für PHP App bei IIS?
- 25. Wie senden Sie eine mehrteilige POST-Anfrage mit HttpURLConnection in Java?
- 26. Stille Wiederholungsversuche in HttpURLConnection
- 27. Wie kann ich PUT/DELETE für Rails und GWT emulieren?
- 28. Wie starte ich eine GET/POST/PUT/DELETE Anfrage und beurteile den Anfragetyp in PHP?
- 29. Volley - wie DELETE Anfrage Parameter zu senden?
- 30. 403 Status (verboten) wenn PUT und DELETE mit AJAX
Als Alternative für die native Nutzung von HttpURLConnection Sie eine kleine Bibliothek verwenden können, genannt [DavidWebb] (https://github.com/hgoebl/DavidWebb). Dort finden Sie eine Liste ähnlicher Bibliotheken. Die native Verwendung von HttpURLConnection ist umständlich und fehleranfällig. – hgoebl