博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient获取响应状态Status
阅读量:4211 次
发布时间:2019-05-26

本文共 1469 字,大约阅读时间需要 4 分钟。

HttpClient获取响应状态Status

我们HttpClient向服务器请求时,

正常情况 执行成功 返回200状态码,

不一定每次都会请求成功,

比如这个请求地址不存在 返回404

服务器内部报错 返回500

有些服务器有防采集,假如你频繁的采集数据,则返回403 拒绝你请求。

这个获取状态码,我们可以用 CloseableHttpResponse对象 getStatusLine().getStatusCode()

package com.open1111.httpclient.chap02;import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;public class Demo3 {    public static void main(String[] args) throws Exception{        CloseableHttpClient httpClient=HttpClients.createDefault(); // 创建httpClient实例        HttpGet httpGet=new HttpGet("http://www.open1111.com"); // 创建httpget实例        httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 设置请求头消息User-Agent        CloseableHttpResponse response=httpClient.execute(httpGet); // 执行http get请求        System.out.println("Status:"+response.getStatusLine().getStatusCode());        HttpEntity entity=response.getEntity(); // 获取返回实体        System.out.println("Content-Type:"+entity.getContentType().getValue());        //System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8")); // 获取网页内容        response.close(); // response关闭        httpClient.close(); // httpClient关闭    }}

运行输出:

Status:200

Content-Type:text/html;charset=UTF-8

假如换个页面

因为不存在,

所以返回 404

转载地址:http://tegli.baihongyu.com/

你可能感兴趣的文章
Struts2 标签库讲解
查看>>
Google Web工具包 GWT
查看>>
材料与工程学科相关软件
查看>>
windows 下AdNDP 安装使用
查看>>
Project 2013项目管理教程(1):项目管理概述及预备
查看>>
ssh客户端后台运行
查看>>
哥去求职,才说了一句话考官就让我出去
查看>>
【React Native】把现代web科技带给移动开发者(一)
查看>>
【GoLang】Web工作方式
查看>>
Launch Sublime Text 3 from the command line
查看>>
【数据库之mysql】mysql的安装(一)
查看>>
【数据库之mysql】 mysql 入门教程(二)
查看>>
【HTML5/CSS/JS】A list of Font Awesome icons and their CSS content values(一)
查看>>
【HTML5/CSS/JS】<br>与<p>标签区别(二)
查看>>
【HTML5/CSS/JS】开发跨平台应用工具的选择(三)
查看>>
【心灵鸡汤】Give it five minutes不要让一个好主意随风而去
查看>>
【React Native】Invariant Violation: Application AwesomeProject has not been registered
查看>>
【ReactNative】真机上无法调试 could not connect to development server
查看>>
【XCode 4.6】常用快捷键 特别是格式化代码ctrl+i
查看>>
【iOS游戏开发】icon那点事 之 实际应用(二)
查看>>