Red de conocimiento informático - Material del sitio web - Cómo utilizar HttpClient para simular el GET POST del navegador

Cómo utilizar HttpClient para simular el GET POST del navegador

JAVA-HttpClient simula GET y POST del navegador

Generalmente, utilizamos el navegador IE o Navigator para acceder al servidor WEB y navegar por la página para ver información o enviar ciertos datos, etc. Algunas de estas páginas son simplemente páginas normales, algunas requieren que los usuarios inicien sesión antes de poder utilizarlas, algunas requieren autenticación y otras requieren cifrado, como HTTPS. Los navegadores que utilizamos actualmente no tienen ningún problema en ninguna de estas situaciones. Sin embargo, en algunos casos es posible que necesite acceder a estas páginas mediante programación, por ejemplo, para "robar" datos de la página web de otra persona, o utilizar una página proporcionada por el sitio web para realizar una determinada función, por ejemplo, si no Si tenemos datos de un número de teléfono móvil, debe utilizar el sitio web de otra empresa para completar esta función y averiguar a dónde pertenece el número de teléfono móvil. Si queremos saber a dónde pertenece un número de teléfono móvil y no tenemos los datos relevantes, por lo que tenemos que utilizar el sitio web de otra empresa para completar esta función, entonces debemos enviar el número de teléfono móvil a la página web y analizarlo desde la página devuelta Obtener los datos que queremos. Si la otra parte es solo una página web muy simple, entonces nuestro programa será muy simple y no hay necesidad de hacer escándalo ni perder el tiempo aquí en este artículo. Sin embargo, teniendo en cuenta los problemas de autorización de algunos servicios, a menudo no se puede acceder a las páginas proporcionadas por muchas empresas con una simple URL. Primero debe registrarse y luego iniciar sesión antes de poder utilizar los servicios proporcionados por la página. asunto. . Sabemos que las tecnologías de páginas web dinámicas actualmente populares, como ASP y JSP, utilizan COOKIE para procesar la información de la sesión. Para que nuestro programa utilice la página de servicio proporcionada por otros, el programa debe iniciar sesión primero y luego acceder a la página de servicio. En este proceso, debe procesar su propia COOKIE. java.net.HttpURLConnection para completar estas funciones. ¡Qué cosa tan terrible! Además, esto es justo lo que llamamos "obstinado", ¡lo cual es común entre los servidores WEB obstinados! Entonces, ¿qué pasa con la carga de archivos a través de HTTP? ¡No más dolores de cabeza, estos problemas se pueden resolver fácilmente con "eso"!

No podemos enumerar todos los posibles problemas persistentes, pero discutiremos algunos de los más comunes. Por supuesto, como se mencionó anteriormente, sería muy aterrador si usáramos java.net.HttpURLConnection para resolver estos problemas nosotros mismos, por lo que antes de comenzar, le presentaremos un proyecto de código abierto que forma parte de la Organización Apache Open Source. HttpMethod método = getPostMethod(); // Usa POST para enviar datos

client.executeMethod(method);

/Imprime el estado devuelto por el servidor

System.out .println( Method.getStatusLine());

//Imprimir la página de resultados

String respuesta = new String(method.getResponseBodyAs);