Prefácio:
A primeira onda da Internet desapareceu agora. Com a próxima era da Internet das coisas com base em milhares de dados, os dados se tornaram um dos importantes recursos estratégicos das empresas. Com base na tecnologia de rastreamento de dados, este artigo apresenta ferramentas de rastreamento relacionadas a Java e anexa o código-fonte da demonstração para que amigos interessados testem!
1) JDK vem com conexão http para obter página ou json
2) JDK vem com sua própria conexão de URL para obter a página ou JSON
3) HttpClient Get Tool, Get Page ou JSON
4) Ferramenta Commons-Io, Get Page ou JSON
5) Ferramenta JSUP (geralmente usada para análise de campo HTML), obtenha páginas, devolver formatos sem JSON】
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Código completo:
package com.yeezhao.common.http;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.httpmethod; importar org.apache.commons.httpclient.methods.getmethod; import org.apache.common.io.ioutils; HttpFetchUtil { / ** * Obtenha código de status de acesso * @param request * @return * @throws Exception * / public static int getResponsecode (string request) lança exceção {url url = new url (request); HttpurlConnection Conn = (httpurlConnection) url.openconnection (); return conn.getResponsecode (); } / ** * 1) JDK vem com conexão http para obter a página ou json * @param request * @param charset * @return * @throws Exceção * / public static string jdkFetch (solicitação de string, string charset) lança a exceção {url url = new url (request); HttpurlConnection Conn = (httpurlConnection) url.openconnection (); // zombar dos parâmetros do navegador Conn.SetRequestProperty ("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Wow64) Applewebkit/537.36" + "(khtml, como gecko) Chrome/45.0.2454111 if (conn.getResponsecode () == httpurlConnection.http_ok) {inputStream input = conn.getInputStream (); StringBuffer sb = new StringBuffer (); BUBLEREDRADER LEITOR = new BufferredReader (new InputStreamReader (entrada, charset)); Strings s; while ((s = leitor.readline ())! = null) {sb.append (s + "/n"); } input.close (); Conn.Disconnect (); return sb.toString (); } retornar ""; } / ** * 2) O JDK vem com sua própria conexão de URL para obter a página ou JSON * @param solicitação * @param charset * @return * @throws exceção * / public static string urlFetch (solicitação de string, string charset) lança exceção {url url = new url (request); retornar ioutils.toString (url.openstream ()); } / ** * 3) Ferramenta Get HttpClient, obtenha a página ou JSON * @param url * @param charset * @return * @throws exceção * / public static string httpclientFetch (string url, string charset) lança exceção {// obtenha httpclient httpplient = string httplient () {// obtenha httpclient httpplient = string httpclient () {// obtenha httpclient httpclient.getParams (). SetContentCharset (charset); HttpMethod Método = new GetMethod (URL); httpclient.executemethod (método); retorno métod.getResponseBodyasstring (); } / ** * 4) Ferramenta Commons-Io, obtenha página ou JSON * @param url * @param charset * @return * @throws exceção * / public static string CommonsioFetch (string url, string charset) lança exceção {return ioutils.toString (new URL (url), charset); } / ** * 5) Ferramenta JSoup (geralmente usada para análise de campo HTML), obtenha páginas, formato de retorno não json * @param url * @return * @throws exceção * / public static string jsoupFetch (string url) lança exceção {return jsoup.parse (new url (url), 2 * 1000) .h; }}Código de teste:
pacote com.yeezhao.common.http; importar org.junit.after; importar org.junit.be antes; importar org.junit.test;/*** classe de teste* 3 links de teste:* 1) interface do Encyclopedia* 2). HttpFetchutilTest {String Seeds [] = {"http://baike.baidu.com/view/1.htm","http://m.ximalaya.com/tracks/26096131.json","http:/// Remyapi.yeezhao.com/api/query? String estática final default_charset = "utf-8"; @Before public void Setup () lança a exceção {} @after public void teardown () lança a exceção {System.out.println ("--- Down ---"); } @Test public void testGetRESPONSecode () lança Exceção {for (String Seed: Seeds) {int Responsecode = httpFetchutil.getResponsecode (semente); System.out.println ("ret ="+Responsecode); }} @Test public void testJdkFetch () lança exceção {for (string semente: sementes) {string ret = httpfetchutil.jdkfetch (semente, default_charset); System.out.println ("ret ="+ret); }} @Test public void testurlFetch () lança a exceção {for (string semente: sementes) {string ret = httpfetchutil.urlFetch (semente, default_charset); System.out.println ("ret ="+ret); }} @Test public void testhttpClientFetch () lança Exceção {for (string semente: sementes) {string ret = httpfetchutil.httpclientFetch (semente, default_charset); System.out.println ("ret ="+ret); }} @Test public void testCommonsioFetch () lança Exceção {for (string semente: sementes) {string ret = httpfetchutil.commonsioFetch (semente, default_charset); System.out.println ("ret ="+ret); }} @Test public void testJSoupFetch () lança Exceção {for (String Seed: Seeds) {String ret = httpFetchutil.jSoupFetch (semente); System.out.println ("ret ="+ret); }}}Anexo: dependências relacionadas ao JAR
... <Depencency> <GrupidId> org.jsoup </frupiD> <TRAFACTID> jsoup </ArtifactId> <versão> 1.7.3 </version> </dependency> <pendesency> <puperid> commons-httpclient </foupiD> <stifactId> comm ONS-HTTPCLIENT </STIFACTID> <Versão> 3.1 </siers> </dependency> <pendence> <puperid> Commons-Io </GroupId> <stifactId> Commons-IO
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.