获取响应状态Status信息获取状态码Status Code
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取响应状态Status信息获取状态码Status Code相关的知识,希望对你有一定的参考价值。
一般服务器的响应状态有以下几种:
200 正常
400 未找到页面
403 拒绝
500 服务器错误
比如我们请求bootstrap中文网,
此时的状态码是200 OK表示正常,后面的from cache,表示从缓存数据库(nosql数据库)中取得的数据,不是从主站点关系型数据库中取得的数据。
为何要这样做,因为要做负载均衡。
这是我们再次刷新页面,按F5或点击刷新。
这个时候返回304 not modified,表示未修改。
可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。(假象)
常见做法:
第一次(首次)访问 200
第二次F5刷新访问 304
我们现在代码中获取状态码:
public class Demo { public static void main(String[] args) throws Exception { CloseableHttpClient closeableHttpClient=HttpClients.createDefault(); //1、创建实例 HttpGet httpGet=new HttpGet("http://www.bootcss.com"); //2、创建实例 httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0"); CloseableHttpResponse closeableHttpResponse=closeableHttpClient.execute(httpGet); //3、执行 HttpEntity httpEntity=closeableHttpResponse.getEntity(); //4、获取实体 System.out.println(closeableHttpResponse.getStatusLine()); //获取状态码 closeableHttpResponse.close(); closeableHttpClient.close(); } }
运行结果:HTTP/1.1 200 OK
接下来我们访问一个不存在的页面:
HttpGet httpGet=new HttpGet("http://www.huimsoft.com/x/x.html");
运行结果:HTTP/1.1 404 Not Found
实际我们只需要获取code就行了也就是404或200这样的关键信息。
public class Demo { public static void main(String[] args) throws Exception { CloseableHttpClient closeableHttpClient=HttpClients.createDefault(); //1、创建实例 HttpGet httpGet=new HttpGet("http://www.huimsoft.com/x/x.html"); //2、创建实例 httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0"); CloseableHttpResponse closeableHttpResponse=closeableHttpClient.execute(httpGet); //3、执行 HttpEntity httpEntity=closeableHttpResponse.getEntity(); //4、获取实体 System.out.println(closeableHttpResponse.getStatusLine()); //获取状态信息 System.out.println(closeableHttpResponse.getStatusLine().getStatusCode()); //获取状态码 closeableHttpResponse.close(); closeableHttpClient.close(); } }
运行结果:
HTTP/1.1 404 Not Found
404
即closeableHttpResponse.getStatusLine().getStatusCode()表示获取状态码。
以上是关于获取响应状态Status信息获取状态码Status Code的主要内容,如果未能解决你的问题,请参考以下文章