1. 程式人生 > >HttpClient--使用HttpClient進行Get Post請求訪問

HttpClient--使用HttpClient進行Get Post請求訪問

import net proto 數據格式 實現 行數據 finall response turn

在java後臺開發中,我們有時候需要調用其他網站的接口進行數據的獲取操作,我們一般會采用

  1.java net 包中的URL 類,進行網絡的數據獲取

  2.使用apache提供的HttpClient進行網絡中數據的獲取;

這裏我們使用第二種方式,使用apache 提供的HttpClient進行數據的獲取,接口的對接,下面附上HttpClientUtil 工具類,實現了POST與GET方法

package com.project.util;

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class HttpClientUtil { //使用HttpClient 進行doGET請求 public static String doGet(String url) { String result =null; //DefaultHttpClient httpclient =new DefaultHttpClient();
//老版本的方法 CloseableHttpClient httpclient =HttpClients.createDefault(); HttpGet httpget =new HttpGet(url); try { HttpResponse response=httpclient.execute(httpget); HttpEntity entity=response.getEntity(); if(entity !=null) { result =EntityUtils.toString(entity,"UTF-8"); } } catch (Exception e) { e.printStackTrace(); } finally { try { if(httpclient !=null) { httpclient.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return result; } public static void main(String[] args) { String str=doGet("http://www.baidu.com"); System.out.println(str); } //使用HttpClient 進行dopOSTT請求,適合發送的數據為json數據格式 public static String doPOST(String url,String outstr) { //DefaultHttpClient httpclient =new DefaultHttpClient();//老版本的方法 CloseableHttpClient httpclient =HttpClients.createDefault(); HttpPost httppost =new HttpPost(url); String result =null; try { httppost.setEntity(new StringEntity(outstr, "UTF-8")); HttpResponse response=httpclient.execute(httppost); HttpEntity entity=response.getEntity(); if(entity !=null) { result =EntityUtils.toString(entity,"UTF-8"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(httpclient !=null) { httpclient.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return result; } }

HttpClient--使用HttpClient進行Get Post請求訪問