public class HttpRequest {
private static boolean debug = true;
//get请求
public static String sendGet(String url, String param) {
if (!debug) {
return "";
}
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
URLConnection connection = realUrl.openConnection();
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
connection.connect();
Map<String, List<String>> map = connection.getHeaderFields();
for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("异常" + e);
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
// [post请求]
public static String sendPost(String url, String param) {
if (!debug) {
return "";
}
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setDoOutput(true);
conn.setDoInput(true);
out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8"));
out.print(param);
out.flush();
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
System.out.println("sendPost"+result);
} catch (Exception e) {
System.out.println("异常" + e);
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
/**
* POST请求HIS接口
* @param url 请求URL
* @param param 请求param
* @return 返回为空字符表示程序出现错误
*/
public static String doPost(String url, String param) {
HttpPost httpPost = new HttpPost(url);
try {
m_httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 60000);
m_httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
m_httpclient.getParams().setParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 999999999);
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httpPost.setEntity(new StringEntity(param, "utf-8"));
HttpResponse response = m_httpclient.execute(httpPost);
if(response.getStatusLine().getStatusCode()!=200){
httpPost.abort();
return "";
}else{
String result = EntityUtils.toString(response.getEntity(),"utf-8");
httpPost.abort();
return result;
}
} catch (Exception e) {
System.out.println("http请求工具异常>>>>"+e.getMessage());
e.printStackTrace();
return "";
}
}
}
//post请求参数为json格式字符串 如:
String Wxresult = HttpRequest.sendPost("http://127.0.0.1:8080/services/tradInfo/getTradeAll", "requestJson="+jsonObject.toString());
//后端接口
@Component
@Scope("prototype")
@Path("/tradInfo")
public class HisInterfaceRestfull {
@POST
@Path("/getTradeAll")
@Produces(MediaType.TEXT_PLAIN)
public String getHisTradeAll(@FormParam(value = "requestJson") String requestJson){
return tradeBillService.getHisTradeAll(requestJson);
}
}
http请求测试工具类,请将请求地址,参数填写在main函数内