package com.topinfo.libs;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.lang3.StringUtils;
public class HttpUtils {
/**
*
*@Description: (客户端用Post方法向服务器提交请求,并获取服务器响应信息)
*@param postURL
*@param context
*@return
*/
public static String reqForPost(String postURL, String context) {
try {
URL url = new URL(postURL);
URLConnection urlConn = url.openConnection();
HttpURLConnection httpUrlConn = (HttpURLConnection) urlConn;
// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true, 默认情况下是false;
httpUrlConn.setDoOutput(true);
// Post 请求不能使用缓存
httpUrlConn.setUseCaches(false);
// 设定请求的方法为"POST",默认是GET
httpUrlConn.setRequestMethod("POST");
//是否连接遵循重定向
httpUrlConn.setInstanceFollowRedirects(true);
//struts对没有指定content-type的request请求有特殊封装
httpUrlConn.setRequestProperty("content-type", "text/html");//解决structs中对action的封装问题
httpUrlConn.connect();
OutputStreamWriter out = new OutputStreamWriter (httpUrlConn.getOutputStream());
out.write(context);
out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(httpUrlConn.getInputStream()));
String line;
StringBuffer sb = new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line);
}
out.close();
in.close();
httpUrlConn.disconnect();
return StringUtils.trimToEmpty(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}