Cómo usar java.net.URLConnection para disparar y manejar solicitudes HTTP

Uso dejava.net.URLConnection se le pregunta bastante a menudo aquí, y elTutorial de Oracle estambién conciso al respecto.

Ese tutorial básicamente solo muestra cómo disparar una solicitud GET y leer la respuesta. No explica en ninguna parte cómo usarlo, entre otros, para realizar una solicitud POST, establecer encabezados de solicitud, leer encabezados de respuesta, manejar cookies, enviar un formulario HTML, cargar un archivo, etc.

Entonces, ¿cómo puedo usarjava.net.URLConnection disparar y manejar solicitudes HTTP "avanzadas"?

Respuestas a la pregunta(11)

Su respuesta a la pregunta