Ocultar información del remitente en HTTP cuando se usa Java [duplicado]

Estaba jugando con las solicitudes HTTP POST y GET en Java. Solo estaba tratando de imitar las solicitudes que envía mi navegador usando Java (estoy usando la clase URLConnection). Sin embargo, cuando usé Wireshark para analizar los paquetes que enviaba mi navegador y los que se enviaban a través de Java, encontré una gran diferencia:

http://i.stack.imgur.com/n8OvR.png

http://i.stack.imgur.com/zPBPR.png

(abrir enlaces para ver las imágenes)

Cuando envío HTTP POST/GET, la herramienta que estoy usando (ya sea un navegador o Java) envía información sobre sí misma. Sin embargo, quiero enviar EXACTAMENTE el mismo paquete a través de Java como lo haría a través de un navegador. ¿Hay una manera de hacerlo? ¿Cómo puedo ocultar la información del remitente (en este caso, Java)? ¡Gracias!

preguntado el 22 de mayo de 12 a las 18:05

Parece que estás buscando stackoverflow.com/questions/2529682/… -

2 Respuestas

Lo siento, pero la única buena respuesta en la otra página está en la parte inferior.

setRequestProperty("User-Agent", ""); ver los JDocs para URLConexión

También puede usar esto para cualquiera de los otros encabezados, como Accept-Language. Tenga cuidado si configura el Accept-Encoding ya que eso puede hacer que el servidor gzip algo que Java no manejará correctamente y tendrá que hacer algo como este.

No estoy seguro de por qué sugieren establecer una propiedad del sistema.

contestado el 23 de mayo de 17 a las 11:05

Si quieres enviar exactamente los mismos paquetes usando Java puro, bueno, no puedes.

Pero esta biblioteca podría ayudar: http://www.savarese.com/software/rocksaw/

contestado el 22 de mayo de 12 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.