package demo;
import java.util.List;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class HttpDemo {
CloseableHttpClient httpClient = HttpClients.createDefault();
public static void main(String[] args) {
HttpDemo demo = new HttpDemo();
String postUrl = "http://localhost/guaishounan/index.php/common/login";
String postData = "username=guaishounan&password=guaishounan";
String resp = demo.sendPost(postUrl, postData);
System.out.println(resp);
}
public String sendPost(String postUrl, String postData) {
String result = "";
HttpPost httpPost = new HttpPost(postUrl);
// 设置请求和传输超时时间
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(2000).setConnectTimeout(2000).build();
httpPost.setConfig(requestConfig);
try {
StringEntity entity = new StringEntity(postData,"UTF-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/x-www-form-urlencoded");
httpPost.setEntity(entity);
CloseableHttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result = EntityUtils.toString(response.getEntity(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
httpPost.releaseConnection();
}
return result;
}
public String sendPost(String postUrl, List<NameValuePair> params) {
HttpPost httpPost = new HttpPost(postUrl);
String result = "";
// 设置请求和传输超时时间
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(2000).setConnectTimeout(2000).build();
httpPost.setConfig(requestConfig);
try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = httpClient.execute(httpPost);
result = EntityUtils.toString(response.getEntity(), "UTF-8");
}
catch (Exception e) {
e.printStackTrace();
}
return result;
}
}