| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HTTP编程(Java爬虫-简单爬取网页数据) -> 正文阅读 |
|
[网络协议]HTTP编程(Java爬虫-简单爬取网页数据) |
HTTP协议简介HTTP 是 HyperText Transfer Protocol 的缩写,翻译为超文本传输协议,它是基于 TCP 协议之上的一种请求-响应协议。 HTTP请求格式是固定的,由HTTP Header和 HTTP Body两部分构成。第一行通常由 请求方法/路径/HTTP版本:?GET / HTTP/1.1 分别一一对应. 后续由 Header:Value格式,我们称为HTTP Header. Host :表示请求的域名,因为一台服务器上可能有多个网站,因此有必要依靠 Host 来识别请求是发给哪个网站的; User-Agent :表示客户端自身标识信息,不同的浏览器有不同的标识,服务器依靠 User-Agent 判断客户端类型是 IE 还是 Chrome ,是 Firefox 还是一个 Python 爬虫; Accept :表示客户端能处理的 HTTP 响应格式, */* 表示任意格式, text/* 表示任意文本, image/png 表示PNG格式的图片; Accept-Language :表示客户端接收的语言,多种语言按优先级排序,服务器依靠该字段给用户返回特定语言的网页版本。 ?我们需要注意的是 GET请求,那么该HTTP请求只有HTTP Header,如果是POST请求,那么该HTTP请求带有BODY? ? 常见的JSON中POST请求? ? ?
其中Content-Type代表BODY类型,Content-Length 表示 Body 的长度。 HTTP 响应也是由 Header 和 Body 两部分组成,一个典型的 HTTP 响应如下:
响应的第一行总是 HTTP版本 响应代码 响应说明 : 例如, HTTP/1.1 200 OK 表示版本是 HTTP/1.1 ,响应代码是 200 ,响应说明是 OK 。客户端只依赖响应代码判断 HTTP 响应是否成功。 HTTP 有固定的响应 代码: 1xx:表示一个提示性响应,例如101表示将切换协议,常见于WebSocket连接; 2xx:表示一个成功的响应,例如200表示成功,206表示只发送了部分内容; 3xx:表示一个重定向的响应,例如301表示永久重定向,303表示客户端应该按指定路径重新发送请求; 4xx:表示一个因为客户端问题导致的错误响应,例如400表示因为Content-Type等各种原因导致的无效请求,404表示指定的路径不存在; 5xx:表示一个因为服务器问题导致的错误响应,例如500表示服务器内部故障,503表示服务器暂时无法响应。 HTTP编程由于浏览器本质上也属于HTPP客户端,所以发送一个HTTP请求,接收服务器响应后,获得响应内容。只不过浏览器进行了渲染,所以我们可以用java获得响应内容。 以下是通过HTTP编程,获取指定网页中图片的代码实现
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:01:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |