public static final StringDEF_CHATSET ="UTF-8";
public static final int DEF_CONN_TIMEOUT =30000;
public static final int DEF_READ_TIMEOUT =30000;
public static StringuserAgent ="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
/**
* @param url 请求地址
* @param headers 头部信息
* @param targetStatusCode 请求的状态
*/
public static String post(String url, Map headers,int targetStatusCode)throws Exception {
try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
HttpPost httpPost =new HttpPost(url);
if (headers !=null && headers.size() >0) {
for (Map.Entry header : headers.entrySet()) {
httpPost.addHeader(header.getKey(), header.getValue());
}
}
CloseableHttpResponse response = httpclient.execute(httpPost);
int responseCode = response.getStatusLine().getStatusCode();
if (responseCode == targetStatusCode) {
HttpEntity respEntity = response.getEntity();
// return EntityUtils.toByteArray(respEntity);
return EntityUtils.toString(respEntity);
}
}catch (Exception e) {
e.printStackTrace();
throw new Exception(e.toString());
}
return null;
}
/**
*
* @param strUrl 接口地址
* @param params 相关的参数
* @param method 请求的方式 GET
*/
public static String net(String strUrl, Map params,String method)throws Exception {
HttpURLConnection conn =null;
BufferedReader reader =null;
String rs =null;
try {
StringBuffer sb =new StringBuffer();
if(method==null || method.equals("GET")){
if (params!=null){
strUrl = strUrl+"?"+urlencode(params);
}
}
URL url =new URL(strUrl);
conn = (HttpURLConnection) url.openConnection();
if(method==null || method.equals("GET")){
conn.setRequestMethod("GET");
}
conn.setRequestProperty("User-agent",userAgent);
conn.setUseCaches(false);
conn.setConnectTimeout(DEF_CONN_TIMEOUT);
conn.setReadTimeout(DEF_READ_TIMEOUT);
conn.setInstanceFollowRedirects(false);
conn.connect();
InputStream is = conn.getInputStream();
reader =new BufferedReader(new InputStreamReader(is,DEF_CHATSET));
String strRead =null;
while ((strRead = reader.readLine()) !=null) {
sb.append(strRead);
}
rs = sb.toString();
}catch (IOException e) {
e.printStackTrace();
}finally {
if (reader !=null) {
reader.close();
}
if (conn !=null) {
conn.disconnect();
}
}
return rs;
}
/**
*
* @param strUrl 接口地址
* @param params 相关的参数
* @param method 请求的方式 GET
*/
public static String get(String strUrl, Map params,String method,String header,String accessToken)throws Exception {
HttpURLConnection conn =null;
BufferedReader reader =null;
String rs =null;
try {
StringBuffer sb =new StringBuffer();
if(method==null || method.equals("GET")){
if (params!=null){
strUrl = strUrl+"?"+urlencode(params);
}
}
URL url =new URL(strUrl);
conn = (HttpURLConnection) url.openConnection();
if(method==null || method.equals("GET")){
conn.setRequestMethod("GET");
}
conn.setRequestProperty(header,accessToken);
conn.setRequestProperty("User-agent",userAgent);
conn.setUseCaches(false);
conn.setConnectTimeout(DEF_CONN_TIMEOUT);
conn.setReadTimeout(DEF_READ_TIMEOUT);
conn.setInstanceFollowRedirects(false);
conn.connect();
InputStream is = conn.getInputStream();
reader =new BufferedReader(new InputStreamReader(is,DEF_CHATSET));
String strRead =null;
while ((strRead = reader.readLine()) !=null) {
sb.append(strRead);
}
rs = sb.toString();
}catch (IOException e) {
e.printStackTrace();
}finally {
if (reader !=null) {
reader.close();
}
if (conn !=null) {
conn.disconnect();
}
}
return rs;
}
public static String urlencode(Map data) {
StringBuilder sb =new StringBuilder();
for (Map.Entry i : data.entrySet()) {
try {
sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return sb.toString();
}
网友评论