天天看點

httpClient請求

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
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.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import com.pankebao.util.SettingUtils;

import net.sf.json.JSONObject;

public class HttpRequestUtil {
    public static void main(String[] args) throws Exception{
        DefaultHttpClient httpClient = new DefaultHttpClient();
        String url = "https://api.netease.im/nimserver/user/create.action";
        HttpPost httpPost = new HttpPost(url);

        String key = "1234567890";
        String nonce =  "12345";
        String curTime = String.valueOf((new Date()).getTime() / 1000L);

        // 設定請求的header
        httpPost.addHeader("Key", key);
        httpPost.addHeader("Nonce", nonce);
        httpPost.addHeader("CurTime", curTime);
        httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");

        // 設定請求的參數
        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
        nvps.add(new BasicNameValuePair("變量名稱", "變量值"));
        nvps.add(new BasicNameValuePair("password", "123456"));
        httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));

        // 執行請求
        HttpResponse response = httpClient.execute(httpPost);
        String json = EntityUtils.toString(response.getEntity(), "utf-8");
		JSONObject jsonObject = JSONObject.fromObject(json);

        // 列印執行結果
        System.out.println(jsonObject);
    }
    
    /**
	 * POST請求
	 * 設定請求的參數
	 * JSONObject jsonParam = new JSONObject();
	 * jsonParam.put("key", "key");
	 */
	public static String httpPostJSONObject(String requestUrl, JSONObject jsonParam) throws Exception {
		DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(requestUrl);
        // 設定請求的header
        httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
        StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");
        entity.setContentEncoding("UTF-8");
        entity.setContentType("application/json");
        httpPost.setEntity(entity);
        // 執行請求
        HttpResponse response = httpClient.execute(httpPost);
        String json = EntityUtils.toString(response.getEntity(), "utf-8");
		return json;
	}
	
	/**
	 * GET請求
	 */
	public static JSONObject httpGetJSONObject(String requestUrl) throws Exception {
		DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(requestUrl);
        // 設定請求的header
        httpGet.addHeader("Content-Type", "application/json;charset=utf-8");
        // 執行請求
        HttpResponse response = httpClient.execute(httpGet);
        String json = EntityUtils.toString(response.getEntity(), "utf-8");
		return JSONObject.fromObject(json);
	}


}


           

jar包:最重要的兩個

httpclient-4.3.3.jar和httpcore-4.3.2.jar

下載下傳位址: