Este artigo descreve a operação de encapsulamento da classe de ferramentas HTTP de implementação de Java. Compartilhe -o para sua referência, como segue:
Implementação da classe de ferramentas HTTP: (através do pacote Apache) A primeira classe
importar java.io.ioException; importar org.apache.http.httpentity; importar org.apache.http.httpropnse; importar org.apache.http.clientptocStatus; import orgache.pache.client.clientProtocception; importação; Importtttatus; importação; org.apache.http.client.methods.httpget; importar org.apache.http.util.entityutils; importar com.gooagoo.stcu.utils.http.httpclientutils; // Information/ *** HTTPS String Source** @param url* endereço* @return string fonte**/ public string httprequestString (string url) {string resultado = null; tente {httpentity httpentity = httprequest (url); if (httpentity! = null) {resultado = entityutils.toString (httpentity, "urf-8"); // use utf-8}} catch (ioexception e) {errorMessage = e.getMessage (); } resultado de retorno; } / *** fonte de fonte http** @param url* endereço* @return Fonte Fonte** / public byte [] httPrequestByTearray (string url) {byte [] resultado = null; tente {httpentity httpentity = httprequest (url); if (httpentity! = null) {resultado = entityutils.tobytearray (httpentity); }} catch (ioexception e) {errorMessage = e.getMessage (); } resultado de retorno; } / ** * Use o método HTTP GET para encontrar * * @param url * endereço * @return httpentery Ícone * * / private httpentity httprequest (string url) {httpentity resultado = null; tente {httpget httpget = new httpget (url); HttpClient httpClient = httpClientUtils.gethttpClient (); Httproponse httproponse; httpResponse = httpclient.execute (httpget); int httpstatuscode = httpResponse.getStatusline (). getStatuscode (); / * * Determine se o http é 200 */ if (httpstatuscode == httpstatus.sc_ok) {resultado = httpResponse.getEntity (); } else {errorMessage = "http:" + httpstatuscode; }} catch (clientProtocolexception e) {errorMessage = e.getMessage (); } catch (ioexception e) {errorMessage = e.getMessage (); } resultado de retorno; } / *** Return Message** @return Information** / public String getErRormessage () {return this.erRormessage; }}Implementação da segunda classe:
pacote com.demo.http; importar java.net.unknownhosception; importar java.util.ArrayList; importar java.util.hashmap; importar java.util.iterator; importar java.util.list; import java.util.map; importest; org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.httppost; importar org.apache.http.impl.client.defaultTttpClient; importar org.apache.http.message.basicnamevaluepAir; importpppache.http.params.basich org.apache.http.params.httpConnectionParams; importar org.apache.http.protocol.http; importar org.apache.http.util.entityutils; public class; 1000; // Defina o tempo limite de dados em espera por 10 segundos // parsexml estático parsexml = new parsexml (); // inicialize httpclient e definir tempo limite público estático httpclient gethttpclient () {basichttpparams httpparams = new Basichttpparams (); HttpConnectionParams.setConnectionTimeout (httpparams, request_timeout); HttpConnectionParams.setTimeout (httpparams, so_timeout); Cliente httpclient = new DefaultTtpClient (httpparams); cliente de retorno; } public static boolean DoPost (String URL) lança exceção {HttpClient Client = GethttpClient (); HttpPost httpPost = new httppost (url); Resposta httpro -resposta; resposta = client.execute (httppost); if (httpstatus.sc_ok == Response.getStatusline (). getStatuscode ()) {return true; } client.getConnectionManager (). Shutdown (); retornar falso; } / ** * Método de postagem para a interação do valor de retorno com remoto * * @param hashmap * @param url * @return * / public static string gethttpxml (hashmap <string, string> hashmap, string url) {string Responsemsg = ""; Solicitação httppost = novo httppost (url); Lista <NameValuepair> params = new ArrayList <NameValuepair> (); Iterator <pap.entry <string, string >> iter = hashmap.entrySet () .iterator (); while (iter.hasNext ()) {entradas <string, string> entradas = iter.Next (); params.add (new BasicNameValuepair (Entry.getKey (), Entry.getValue ())); } tente {request.Setentity (new UrlencodedFormentity (params, http.utf_8)); Cliente httpClient = httpClientUtils.gethttpClient (); HTTPRESPOnsion Response = client.execute (request); if (Respons.getStatusline (). getStatuscode () == 200) {Responsemsg = entityutils.toString (Response.getEntity ()); }} catch (desconhecidoHosTexception e) {e.printStackTrace (); } catch (Exceção e) {e.printStackTrace (); } retornar responseMsg; } / ** * Map para string parâmetros de splicing * * @param hashmap * @return * / public static string MaptoString (hashmap <string, string> hashmap) {string parameterStr = ""; Iterator <pap.entry <string, string >> iter = hashmap.entrySet () .iterator (); while (iter.hasNext ()) {entradas <string, string> entradas = iter.Next (); ParameterStr + = "&" + entradas.getKey () + "=" + Entry.getValue (); } if (paramest.contains ("&")) {parameterStr = parameterStr.replacefirst ("&", "?"); } retornar parameterstr; }}Para obter mais informações sobre o conteúdo relacionado a Java, consulte os tópicos deste site: "Resumo das habilidades de programação do soquete Java", "Resumo dos arquivos Java e habilidades de operação de diretório", "Tutorial sobre estrutura de dados Java e algoritmo", "Resumo da operação Java Dom Node Skills" e "Resumo de Java Cache Skills Skills Operation Skills"
Espero que este artigo seja útil para a programação Java de todos.