Pregunta

URL url = new URL("http://www.example.com/comment");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");

Es

connection.setRequestProperty(key, value);

lo mismo que

OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("key=" + value);
writer.close();

?

Si no es así, por favor, corríjanme.

¿Fue útil?

Solución

No, no es. los URLConnection#setRequestProperty() establece una solicitud encabezamiento. Para las solicitudes HTTP, puede encontrar todos los encabezados posibles aquí.

los writer Solo escribe la solicitud cuerpo. En caso de POST Con el contenido de URLEncoded, normalmente escribiría la cadena de consulta en el cuerpo de solicitud en lugar de agregarla a la solicitud URI como en GET.

Dicho esto, connection.setDoOutput(true); ya establece implícitamente el método de solicitud para POST En caso de un URI HTTP (porque se requiere implícitamente escribir en el cuerpo de solicitud), así que hacer un connection.setRequestMethod("POST"); Posteriormente es innecesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top