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
下載下傳位址: