connexion.setRequestProperty et excplicitly écrit à l'urloutputstream sont-ils de même?
URL url = new URL("http://www.example.com/comment");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
Est
connection.setRequestProperty(key, value);
le même que
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("key=" + value);
writer.close();
?
Si non, merci de me corriger.
OriginalL'auteur Bunny Rabbit | 2010-04-01
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas. Le
URLConnection#setRequestProperty()
définit une demande en-tête. Pour les requêtes HTTP, vous pouvez trouver tous les possibles en-têtes ici.La
writer
juste écrit la demande corps. En cas dePOST
avec urlencoded content, normalement vous devriez écrire la chaîne de requête dans le corps de la requête à la place de l'ajoutant à l'URI de la demande, comme dansGET
.Cela dit,
connection.setDoOutput(true);
déjà implicitement définit la méthode de demande dePOST
dans le cas d'une URI HTTP (parce que c'est implicitement requis pour écrire dans le corps de la requête à l'époque), donc faire unconnection.setRequestMethod("POST");
par la suite est inutile.OriginalL'auteur BalusC