使用httpclient发送post请求到服务器端,服务器端在请求另一个服务器得到数据返回给httpclient
实现思路
1、新建两个Web Appilcation项目模拟两个服务器
分别为服务器端1和服务器端2
2、建立一个httpclient模拟发送post请求
3、服务器1接收到httpclient 发来的请求后向另一个服务器2发起请求
4、服务器1接收到servlet发来的请求,并响应服务器1。
5、服务器1再将服务器2响应的数据发送给httclient
详细代码如下
httpclient发送post请求给服务器1 代码:
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
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.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 描述:
*
* @author BZMing
* @create 2019-08-12 10:44
*/
public class Client {
public static void main(String[] args) throws IOException {
//创建httpClient请求
CloseableHttpClient httpClient = HttpClients.createDefault();
//请求地址
String url = "http://localhost:8888/demo";
//创建httpPost
HttpPost httpPost = new HttpPost(url);
//创建 参数集合
List<NameValuePair> params = new ArrayList<NameValuePair>();
//添加参数
params.add(new BasicNameValuePair("m