2019独角兽企业重金招聘Python工程师标准>>>
package com.landray.kmss.app.oa.sign.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.CookieStore;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
public class HttpUtils {
protected final static String HTTP_CHARSET = "UTF-8";
public static CookieStore doLogin(String urlPath,String loginName, String loginPass) {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpParams httpParams = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
try {
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("j_username", loginName));
pairs.add(new BasicNameValuePair("j_password", loginPass));
urlPath += "?" + EntityUtils.toString(new UrlEncodedFormEntity(pairs,
HTTP_CHARSET));
System.out.println(urlPath);
HttpGet httpGet = new HttpGet(urlPath);
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != 200) {
httpGet.abort();
throw new RuntimeException("HttpClient,error status code :"
+ statusCode);
}
return httpClient.getCookieStore();
} catch (Exception e) {
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
}
return null;
}
public static String httpGet(String urlPath, HashMap<String, String> params,
CookieStore loginCookie) {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setCookieStore(loginCookie);
HttpParams httpParams = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
try {
if (params != null && !params.isEmpty()) {
List<NameValuePair> pairs = initUrlParams(params);
urlPath += "?" + EntityUtils.toString(new UrlEncodedFormEntity(pairs,
HTTP_CHARSET));
}
HttpGet httpGet = new HttpGet(urlPath);
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != 200) {
httpGet.abort();
throw new RuntimeException("HttpClient,error status code :"
+ statusCode);
}
HttpEntity entity = httpResponse.getEntity();
String result = null;
if (entity != null) {
result = EntityUtils.toString(entity, "utf-8");
}
// EntityUtils.consume(entity);
return result;
} catch (Exception e) {
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
}
return null;
}
public static String httpPost(String urlPath, HashMap<String, String> params,
CookieStore loginCookie) {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setCookieStore(loginCookie);
HttpParams httpParams = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
try {
if (params != null && !params.isEmpty()) {
List<NameValuePair> pairs = initUrlParams(params);
urlPath += "?" + EntityUtils.toString(new UrlEncodedFormEntity(pairs,
HTTP_CHARSET));
}
HttpGet httpGet = new HttpGet(urlPath);
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != 200) {
httpGet.abort();
throw new RuntimeException("HttpClient,error status code :"
+ statusCode);
}
HttpEntity entity = httpResponse.getEntity();
String result = null;
if (entity != null) {
result = EntityUtils.toString(entity, "utf-8");
}
// EntityUtils.consume(entity);
return result;
} catch (Exception e) {
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
}
return null;
}
private static List<NameValuePair> initUrlParams(
HashMap<String, String> params) {
List<NameValuePair> pairs = new ArrayList<NameValuePair>(
params.size());
for (Map.Entry<String, String> entry : params.entrySet()) {
String value = entry.getValue();
if (value != null) {
pairs.add(new BasicNameValuePair(entry.getKey(), value));
}
}
return pairs;
}
// public static String get(String urlPath,String cookieId) throws IOException{
// URL url = new URL(urlPath);
// // 发送http请求
// HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// // 传入单点登录token
// conn.setRequestProperty("Cookie", cookieId);
// conn.connect();
// InputStream is = conn.getInputStream();
// BufferedReader reader = new BufferedReader(new InputStreamReader(
// is, "utf-8"));
// StringBuffer buf = new StringBuffer();
// String line = null;
// while ((line = reader.readLine()) != null) {
// buf.append(line);
// }
// is.close();
// // 释放连接
// conn.disconnect();
// // 得到xml
// return buf.toString();
// }
public static void main(String[] args) {
String urlPath = "http://192.168.0.158:8080/ekp/";
String loginName = "admin";
String loginPass = "1";
CookieStore cookie = doLogin(urlPath + "j_acegi_security_check", loginName, loginPass);
List<Cookie> cookies = cookie.getCookies();
String cookieId = null;
for (Cookie c : cookies) {
System.out.println(c.getName() + " : " + c.getValue());
cookieId = c.getValue();
}
urlPath += "km/review/km_review_index/kmReviewIndex.do?method=list&nodeType=TEMPLATE&q.fdTemplate=147ce24167648cf71c389ff4e7295d0e&orderby=docCreateTime&ordertype=down&__seq=";
System.out.println(urlPath);
String httpGet = httpGet(urlPath, null, cookie);
System.out.println(httpGet.trim());
}
}