这是一个工具类,在此做记录可以直接拿去使用的
import java.net.SocketTimeoutException;
import java.nio.charset.Charset;
import java.util.Map;
import net.sf.json.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
//import com.alibaba.fastjson.JSONObject;
public class HttpPost2 {
public static String getResult(String url,Map<String, Object> params){
String returnValue = null; //返回的数值
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 15000);
try {
HttpPost httppost = new HttpPost(url);
httppost.addHeader("Content-type","application/x-www-form-urlencoded; charset=utf-8");
httppost.setHeader("Accept", "application/json");
StringEntity entity = new StringEntity(JSONObject.fromObject(params).toString());
httppost.setEntity(entity);
HttpResponse resp = httpclient.execute(httppost);
if(resp.getStatusLine().getStatusCode() == 200) {
HttpEntity he = resp.getEntity();
String respContent = EntityUtils.toString(he,"UTF-8");
returnValue = respContent;
}
}
catch (SocketTimeoutException e) {
e.printStackTrace();
returnValue = "timeout";
}catch (Exception e) {
e.printStackTrace();
}finally {
// 关闭连接,释放资源
httpclient.getConnectionManager().shutdown();
}
return returnValue;
}
}