10
votes

Comment envoyer Mettre, supprimer la demande HTTP à HttpurlConnection en Java

J'ai desservices reposants et j'envoie une requête HTTP et obtenez une demande HTTP, comment envoyer la demande de placement et delte http à httpurlconection avec Java.


1 commentaires

Comme alternative à l'usage natif de HttpurlConnection, vous pouvez utiliser une bibliothèque infime appelée DavidWebB . Vous pouvez trouver une liste de bibliothèques similaires. L'utilisation de HTTPurlConnection Nativement est encombrante et sujettes aux erreurs.


3 Réponses :


-1
votes

Vous pouvez remplacer xxx

effectue l'opération de vente HTTP; La mise en œuvre par défaut rapporte un Erreur HTTP Bad_Request. L'opération de mise est analogue à l'envoi d'un fichier via ftp. Les écrivains de servlet qui remplacent cette méthode doivent respecter Tout contenu - * en-têtes envoyés avec la demande. (Ces en-têtes incluent longueur de contenu, type de contenu, encodage de transfert de contenu, Contenu-codage, base de contenu, langue de contenu, emplacement de contenu, contenu-md5 et gamme de contenu.) Si la sous-classe ne peut pas honorer un En-tête de contenu, il doit alors émettre une réponse d'erreur (501) et jeter la demande. Pour plus d'informations, voir le HTTP 1.1 RFC.

Cette méthode n'a pas besoin d'être "sûre" ou "idempotent". Les opérations demandées par MET peuvent avoir des effets secondaires pour lesquels la L'utilisateur peut être tenu responsable. Bien que non requis, des écrivains de servlet Qui remplace cette méthode peut souhaiter enregistrer une copie de l'URI concernée dans le stockage temporaire.

et xxx

Effectue l'opération de suppression HTTP; Les rapports de mise en œuvre par défaut une erreur HTTP Bad_Request. L'opération DELETE permet à un client de Demandez une URI d'être supprimée du serveur. Cette méthode n'a pas besoin être soit «sûr» ou «idempotent». Opérations demandées par Supprimer peut avoir des effets secondaires pour lesquels les utilisateurs peuvent être tenus responsables. Bien que non requis, les écrivains de servlet qui sous-classent cette méthode peuvent souhaite enregistrer une copie de l'URI affectée dans un stockage temporaire.


3 commentaires

Ce sont des méthodes d'API de servlet mais l'OP est posé sur un client HTTP, je pense


Peut-être, mais j'ai compris qu'il a déjà mis en place un servlet qui gère Joket et Doput et veut savoir comment mettre en œuvre les deux autres opérations


Si, comme j'ai le getter et le post, je dois mettre en œuvre Supprimer et mettre des méthodes, mais ne vient pas parce que le paramètre d'entrée Tenngo One peut m'aider? - @matthewgilliard



25
votes

Mettez

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();
    }
} 


1 commentaires

Je n'ai pas besoin d'appeler httpurlconnection.connect ()? Quelle est cette fonction?



5
votes

Si j'utilise la demande de suppression de @bartarkm, cela obtient cette exception: xxx pré>

Pour le réparer, je viens de supprimer cette instruction: p>

 // httpURLConnection.setDoOutput(true);


0 commentaires