package systems.basesys.helper;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
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.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpUtils {
/**
* 执行一个HTTP POST请求,返回结果
*
* @param paramMap
* 请求字段
* @param url
* 请求地址
* @return 返回json数据
* @throws Exception
*/
public static String doPost(String url, Map<String, String> paramMap)
throws Exception {
if (StringUtils.isBlank(url)) {
return null;
}
CloseableHttpClient httpclient = null;
String json = null;
try {
httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
if (paramMap != null && paramMap.size() > 0) {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
for (String key : paramMap.keySet()) {
nvps.add(new BasicNameValuePair(key, paramMap.get(key)));
}
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
}
CloseableHttpResponse response2 = httpclient.execute(httpPost);
HttpEntity entity2 = response2.getEntity();
json = EntityUtils.toString(entity2, "UTF-8");
response2.close();
} finally {
if (httpclient != null) {
httpclient.close();
}
}
return json;
}
/**
* 执行一个HTTP POST请求,返回结果
*
* @param paramMap
* 请求字段
* @param url
* 请求地址
* @return 返回json数据
* @throws Exception
*/
public static String doPalmPost(String url, String param)
throws Exception {
if (StringUtils.isBlank(url)) {
return null;
}
CloseableHttpClient httpclient = null;
String json = null;
try {
httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(param, "UTF-8"));
CloseableHttpResponse response2 = httpclient.execute(httpPost);
HttpEntity entity2 = response2.getEntity();
json = EntityUtils.toString(entity2, "UTF-8");
response2.close();
} finally {
if (httpclient != null) {
httpclient.close();
}
}
return json;
}
/**
* 执行一个HTTP GET请求,返回结果
*
* @param url
* 请求的URL地址
* @param queryString
* 请求的查询参数,可以为null
*/
public static String doGet(String url) throws Exception {
if(StringUtils.isBlank(url)){
return null;
}
String json = null;
CloseableHttpClient httpclient = null;
try {
httpclient = HttpClients.createDefault();
HttpGet get = new HttpGet(url);
CloseableHttpResponse response2 = httpclient.execute(get);
HttpEntity entity2 = response2.getEntity();
json = EntityUtils.toString(entity2, "UTF-8");
response2.close();
} finally {
if (httpclient != null) {
httpclient.close();
}
}
return json;
}
public static void main(String[] args) {
/*Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("q", "美女");
paramMap.put("start", "0");
paramMap.put("rows", "10");
paramMap.put("wt", "json");
String json = "";
try {
System.out.println(doPost("http://101.251.204.197/solr_home/book/select", paramMap));
json = doGet("http://101.251.204.197/solr_home/book/select?q=美女&start=0&rows=100&wt=json&indent=true");
JSONObject obj = JSONObject.fromObject(json);
JSONObject response = obj.getJSONObject("response");
JSONArray keysArray = response.getJSONArray("docs");
for (int i = 0; i < keysArray.size(); i++) {
String bookString = keysArray.getString(i);
obj = JSONObject.fromObject(bookString);
// System.out.println(obj.get("book_name"));
}
System.out.println(URLDecoder.decode("%E7%BE%8E%E5%A5%B3", "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}*/
// System.out.println(json);
}
}
基于 HttpClients 的url访问
最新推荐文章于 2023-03-23 10:16:02 发布