Prefacio:
La primera ola de Internet ha desaparecido ahora. Con la próxima era de Internet de las cosas basadas en miles de datos, los datos se han convertido en uno de los recursos estratégicos importantes de las empresas. Basado en la tecnología de rastreo de datos, este artículo presenta herramientas de rastreo relacionadas con Java y adjunta el código fuente de demostración para que los amigos interesados prueben.
1) JDK viene con conexión HTTP para obtener página o JSON
2) JDK viene con su propia conexión URL para obtener la página o JSON
3) HTTPCLIENT Get Tool, Get Page o JSON
4) Herramienta Commons-IO, Get Page o JSON
5) La herramienta JSOUP (generalmente utilizada para el análisis de campo HTML), obtenga páginas, formatos de retorno sin JSON】
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Código completo:
paquete com.yeezhao.common.http; import java.io.bufferedReader; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.net; import org.apache.commons.httpclient.htttpmethod; import org.apache.commons.httpclient.methods.getmethod; import org.apache.commons.io.ioutils; import org.jsoup.jsoup;/** * http Tool Actualatison * * @Author Administrator -> Junhong * Diciembre 27, 2016, 2016 */2016 * Httpfetchutil { / ** * Obtener código de estado de acceso * @param request * @return * @throws excepción * / public static int Httpurlconnection conn = (httpurlconnection) url.openconnection (); return conn.getResponseCode (); } / ** * 1) JDK viene con conexión HTTP para obtener la página o JSON * @param request * @param charset * @return * @throws Exception * / public static String jdkfetch (solicitud de cadena, charset de cadena) lanza excepción {url url = nueva url (solicitud); Httpurlconnection conn = (httpurlconnection) url.openconnection (); // burla los parámetros del navegador conn.setRequestProperty ("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebkit/537.36" + "(khtml, como gecko) Chrome/45.0.2454.101 Safari/537.36");); if (conn.getResponseCode () == httpurlconnection.http_ok) {inputStream input = conn.getInputStream (); StringBuffer sb = new StringBuffer (); BufferedReader Reader = new BufferedReader (new InputStreamReader (Input, Charset)); Cadena S; while ((s = lector.readline ())! = null) {sb.append (s + "/n"); } input.close (); conn.disconnect (); return sb.ToString (); } devolver ""; } / ** * 2) JDK viene con su propia conexión URL para obtener la página o JSON * @param request * @param charset * @return * @throws excepción * / public static string urlfetch (solicitud de cadena, charset) lanza excepción {url url = nueva url (solicitud); return ioutils.toString (url.openStream ()); } / ** * 3) HTTPCLIENT Get Tool, obtenga la página o JSON * @param url * @param charset * @return * @throws excepción * / public static string httpclientfetch (string url, string charset) lanza excepción {// get httpclient httpclient = new httpClient (); httpclient.getParams (). setContentCharset (charset); Httpmethod método = new GetMethod (URL); httpclient.executemethod (método); Método de retorno.getResponseBodyAsstring (); } / ** * 4) herramienta commons-io, obtenga página o json * @param url * @param charset * @return * @throws excepción * / public static string commonsiofetch (string url, string charset) lanza excepción {return iOutils.ToString (new url (url), charset); } / ** * 5) herramienta JSoup (generalmente utilizada para el análisis de campo HTML), obtenga páginas, no json de retorno formato * @param url * @return * @throws excepción * / public static string jSoupfetch (string url) Excepción {return jsoup.parse (nueva url (url), 2 * 1000) .html (); }}Código de prueba:
paquete com.yeezhao.common.http; import org.junit.after; import org.junit.before; importar org.junit.test;/*** Test Class* 3 Test Links:* 1) Encyclopedia Web Página* 2) Simulación de navegador para obtener datos de interfaz* 3) Obtenga datos de interfaz de Interface* @@author -Administrador de la caja de buzo* 2016, 2016, 2016 para obtener datos de interfaz* 3) Obtenga datos de interfaz normal* @@Author Administrator -Birthong de 2016, 2016, 2016 para obtener datos de interfaz* 3). HttpfetchUtttest {String Seeds [] = {"http://baike.baidu.com/view/1.htm","http://m.ximalaya.com/tracks/26096131.json","http:// remyapi.yeezhao.com/api/Query?wd=%E5%91%A8%E6%98%9F%E9%A9%B0%E7%9A%84%E7%94%B5%E5%BD%B1 "}; Final static string default_charset = "utf-8"; @Bebore public void setup () lanza la excepción {} @After public void TAWDOWN () lanza la excepción {System.out.println ("--- Down ---"); } @Test public void testgetResponseCode () lanza la excepción {para (String Seed: Seeds) {int ResponseCode = httpfetchutil.getResponseCode (semilla); System.out.println ("ret ="+ResponseCode); }} @Test public void testjdkfetch () lanza la excepción {for (String Seed: Seeds) {String ret = httpfetchutil.jdkfetch (semilla, default_charset); System.out.println ("ret ="+ret); }} @Test public void testUrlfetch () lanza la excepción {for (String Seed: Seeds) {String ret = httpfetchutil.urlfetch (semilla, default_charset); System.out.println ("ret ="+ret); }} @Test public void testHttpClientfetch () lanza la excepción {for (String Seed: Seeds) {String ret = httpfetchutil.httpclientfetch (semilla, default_charset); System.out.println ("ret ="+ret); }} @Test public void testCommonsiofetch () lanza la excepción {for (String Seed: Seeds) {String ret = httpfetchutil.commonsiofetch (semilla, default_charset); System.out.println ("ret ="+ret); }} @Test public void testjSoupfetch () lanza la excepción {para (String Seed: Seeds) {String ret = httpfetchutil.jsoupfetch (semilla); System.out.println ("ret ="+ret); }}}Adjunto: dependencias de jarras relacionadas
... <Spendency> <MoupRoMID> org.jsoup </groupid> <artifactId> jsoup </artifactid> <versión> 1.7.3 </versión> </pendency> <ependency> <grupo> commons-httpclient </proupId> <artifactid> comunicid> comm. ONS-HTTPClient </artifactid> <versión> 3.1 </versión> </pendency> <pendency> <MoupRoMID> commons-io </proupid> <artifactid> commons-io </artifactid> <versión> 2.4 </versión> </dependencia> ... ...
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.