JAVA實(shí)現(xiàn)httpClient的實(shí)例

    時(shí)間:2024-10-24 22:29:31 SUN認(rèn)證 我要投稿
    • 相關(guān)推薦

    關(guān)于JAVA實(shí)現(xiàn)httpClient的實(shí)例

      HttpClient 是 Apache Jakarta Common 下的子項(xiàng)目,可以用來(lái)提供高效的、最新的、功能豐富的支持 HTTP 協(xié)議的客戶端編程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議。下面小編準(zhǔn)備了關(guān)于JAVA實(shí)現(xiàn)httpClient的實(shí)例,提供給大家參考!

      package net.xfok.http;

      import java.util.HashMap; import java.util.Iterator; import java.util.Map;

      import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod;

      /**

      */

      public class MyClient {

      /**

      *的到Http請(qǐng)求結(jié)果

      * @param url請(qǐng)求地址

      * @param parms請(qǐng)求參數(shù)

      * @return

      */

      public byte[] getBody(String url,Map parms){

      byte[] body=null;

      //構(gòu)造HttpClient的實(shí)例

      HttpClient httpClient = new HttpClient();

      //創(chuàng)建GET方法的實(shí)例

      PostMethod postMethod = new PostMethod(url);

      //填入各個(gè)表單域的值

      NameValuePair[] data = new NameValuePair[parms.keySet().size()]; Iterator it = parms.entrySet().iterator();

      int i=0;

      while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); data[i]=new NameValuePair(key.toString(),value.toString());

      i++;

      }

      //將表單的值放入postMethod中

      postMethod.setRequestBody(data);

      try {

      //執(zhí)行postMethod

      int statusCode = httpClient.executeMethod(postMethod); // HttpClient對(duì)于要求接受后繼服務(wù)的請(qǐng)求,象POST和PUT等不能自動(dòng)處理轉(zhuǎn)發(fā)

      // 301或者302

      if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {

      //從頭中取出轉(zhuǎn)向的地址

      Header locationHeader = postMethod

      .getResponseHeader(“location”);

      String location = null;

      if (locationHeader != null) { location = locationHeader.getValue(); System.out .println(“The page was redirected to:” + location);

      } else {

      System.err.println(“Location field value is null.”);

      }

      }

      body = postMethod.getResponseBody();

      } catch (Exception e) {

      e.printStackTrace();

      }

      return body;

      }

      public static void main(String[] args) {

      String url=“http://www.xfok.net”;

      Map parms=new HashMap();

      MyClient client=new MyClient();

      String result=new String(client.getBody(url, parms)); System.out.println(result);

      }

      }

    【JAVA實(shí)現(xiàn)httpClient的實(shí)例】相關(guān)文章:

    實(shí)現(xiàn)鼠標(biāo)畫圖的Java程序06-22

    Java多線程的實(shí)現(xiàn)方式07-08

    PHP實(shí)現(xiàn)RSA加密類的實(shí)例解析10-25

    Java動(dòng)態(tài)代理實(shí)現(xiàn)AOP的方法07-22

    Java如何實(shí)現(xiàn)簡(jiǎn)單的whois查詢09-21

    Java byte[]轉(zhuǎn)int如何實(shí)現(xiàn)05-24

    Java語(yǔ)言的特點(diǎn)和實(shí)現(xiàn)機(jī)制10-01

    使用JavaScript實(shí)現(xiàn)Java的List功能10-26

    Java文件解壓縮實(shí)例詳解201607-26

    java實(shí)現(xiàn)web服務(wù)器的方法10-14

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      在线观看激情AV更新 | 真实的国产乱××××在线91 | 亚洲香蕉伊综合在人在线观看 | 午夜自产精品一区二区三区 | 中文字幕精品制服丝袜 | 午夜福利理论片中文字幕 |