在写服务端接口,免不了httpclient调用,首先要了解http协议
请求
1.按接口文档要求,如果有认证或授权,需要加请求头信息 ,request.setHeader("auth");
2.请求类型。 request.setHeader("Content-Type", "application/json;charset=UTF-8"); 具体要看请求传递的数据类型
以上两点是http协议里量常用的两种设置
3.建立httpclient链接
CloseableHttpClient client = HttpClients.createDefault();
建立post请求
HttpPost post = new HttpPost(url);
设置请求头
post.setHeader("Content-Type", "application/json;charset=UTF-8");
post.setHeader("auth", "auth");
post.setHeader("orgid", "orgid");
封闭实体模型
StringEntity entity = new StringEntity(json, "utf-8");
设置实体到post
post.setEntity(entity);
执行发送
CloseableHttpResponse response = client.execute(post);
服务端返回数据
String result = EntityUtils.toString(response.getEntity());
服务端
获取请求头部分
String auth = request.getHeader("auth");
String orgid = request.getHeader("orgid");
获取请求浏览器
UserAgent agent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
设置响应头
response.setContentType("text/plain"),默认
response.setContentLength(**);
返回数据,可以以流的方式返回用户
PrintWriter writer =response.getWriter();
writer.write(***);
遗留问题:响应时什么情况下,需要设置addCookie