Ho dei servizi Web riposanti e invio POST e GET richiesta HTTP, come inviare PUT e richiesta DELTE HTTP in httpURLConection con JAVA.Come inviare PUT, ELIMINARE la richiesta HTTP in HttpURLConnection in JAVA
risposta
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();
}
}
DELETE
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();
}
}
grazie è perfetto !!! solo ho bisogno del metodo DELETE. !! – user2816207
Non è necessario chiamare htpURLConnection.connect()? A cosa serve questa funzione? –
è possibile ignorare
protected void doPut(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException;
Esegue l'operazione HTTP PUT; l'implementazione predefinita riporta un errore HTTP BAD_REQUEST . L'operazione PUT è analoga all'invio di un file tramite FTP. I writer di servlet che eseguono l'override di questo metodo devono rispettare qualsiasi intestazione Content- * inviata con la richiesta. (Queste intestazioni includono lunghezza del contenuto, tipo di contenuto, codifica di trasferimento del contenuto, codifica del contenuto, contenuto-base, lingua del contenuto, posizione del contenuto, contenuto-MD5 e gamma di contenuti.) Se la sottoclasse non può onorare un'intestazione di contenuto , quindi deve emettere una risposta di errore (501) e scartare la richiesta . Per ulteriori informazioni, vedere HTTP 1.1 RFC.
Questo metodo non deve essere né "sicuro" né "idempotente". Le operazioni richieste tramite PUT possono avere effetti collaterali per i quali l'utente può essere ritenuto responsabile. Sebbene non sia richiesto, i writer di servlet che eseguono l'override di questo metodo potrebbero voler salvare una copia dell'URI interessato nella memoria temporanea.
e
protected void doDelete(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException
Esegue l'HTTP DELETE operazione; l'implementazione predefinita riporta un errore HTTP BAD_REQUEST. L'operazione DELETE consente a un client di di richiedere la rimozione di un URI dal server. Questo metodo non ha bisogno di per essere "sicuro" o "idempotente". Le operazioni richieste tramite DELETE possono avere effetti collaterali per i quali gli utenti possono essere ritenuti responsabili. Anche se non richiesto, i writer di servlet che eseguono la sottoclasse di questo metodo possono desiderano salvare una copia dell'URI interessato nella memoria temporanea.
Questi sono i metodi dell'API Servlet ma l'OP sta chiedendo un client HTTP penso che sia –
Forse, ma ho capito che ha già implementato un servlet che gestisce doGet e doPut e vuole sapere come implementare le altre due operazioni – RamonBoza
se, come Ho il getter e postT, ho bisogno di implementare delete, e mettere i metodi, tuttavia non vengono perché un parametro di input tenngo può aiutarmi? - @MatthewGilliard – user2816207
Se uso la richiesta di eliminazione dalla @BartekM, si ottiene questa eccezione:
java.net.ProtocolException: DELETE does not support writing
per risolvere il problema, ho solo rimuovere questa istruzione:
// httpURLConnection.setDoOutput(true);
- 1. Java: HTTP PUT con HttpURLConnection
- 2. Richiesta PUT HTTP con Node.js
- 3. asincrono richiesta HTTP in java
- 4. Come inviare una richiesta PUT/DELETE in jQuery?
- 5. HttpURLConnection persistente in Java
- 6. HttpURLConnection Richiesta GET con http-header "Accetta"
- 7. Come inviare la richiesta HTTP post utilizzando la molla
- 8. Conversione richiesta CURL alla richiesta HTTP Java
- 9. Come inviare un'intestazione HTTP in java
- 10. Traduci PHP PUT richiesta HTTP a ColdFusion
- 11. Come inviare la richiesta POST HTTP e ricevere risposta?
- 12. In java, come creare HttpsURLConnection o HttpURLConnection in base all'URL?
- 13. Manda un commento http eliminare richiesta
- 14. La risorsa richiesta non supporta il metodo http "PUT"
- 15. Come inviare una richiesta HTTP utilizzando Telnet
- 16. come eseguire la richiesta PUT in Android Volley?
- 17. È richiesta una richiesta PUT HTTP per includere un corpo?
- 18. Come posso inviare una richiesta HTTP/2 POST in PHP
- 19. JAVA: richiesta post http
- 20. Chrome sta memorizzando nella cache una richiesta HTTP PUT
- 21. Come inviare la richiesta POST?
- 22. Come inviare richiesta di richiesta HTTP POST al server
- 23. Come fare una richiesta PUT HTTP usando LWP?
- 24. HTTP PUT per caricare un file in Java
- 25. Test Java Junit Richiesta POST HTTP
- 26. Come inviare una semplice richiesta di post http con parametri di post in java
- 27. Autenticazione digest HTTP con HttpUrlConnection
- 28. Come inviare una richiesta HTTPS attraverso un proxy in Java?
- 29. Java: richiesta di visualizzazione di HttpURLConnection prima dell'invio
- 30. Genera richiesta HTTP mista/multipart in Java
Come alternativa per l'utilizzo nativo di HttpURLConnection è possibile utilizzare una piccola libreria chiamata [DavidWebb] (https://github.com/hgoebl/DavidWebb). Lì puoi trovare un elenco di librerie simili. L'uso di HttpURLConnection in modo nativo è ingombrante e soggetto a errori. – hgoebl