这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 爬虫入门基础-HTTP协议过程

共3条 1/1 1 跳转至

爬虫入门基础-HTTP协议过程

菜鸟
2020-05-08 17:48:44     打赏

当我们在浏览器中输入URL后,会发生什么?比如https://www.baidu.com

我们可以用curl -v https://www.baidu.com 来研究这个过程,会发现总共有4个子过程。

1、查找域名对应的IP地址

* Rebuilt URL to: https://www.baidu.com/*   Trying 14.215.177.38...

我们可以通过nslookup www.baidu.com模拟这个过程,dns服务器返回两个IP地址,curl会随机选用其中一个IP服务器进行访问。

nslookupzsh_.png

2、向IP对应的服务器发送SSL协商请求,进行SSL协商

* Connected to www.baidu.com (14.215.177.38) port 443 (#0)

下图是通过Wireshark抓包获取的协商过程。

Ethernet__en0__tcp_port_443_.png

3、SSL协商完成后,向IP对应服务器发起GET请求

> GET / HTTP/1.1

> Host: www.baidu.com

> User-Agent: curl/7.54.0

网站会检查是不是真的浏览器访问。需加上User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.1276.73 Safari/537.36,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法

Wireshark_·_Follow_TCP_Stream__tcp_stream_eq_0__·_Ethernet__en0__tcp_port_80_.png


4、服务器响应请求,发回网页内容

< HTTP/1.1 200 OK

< Connection: keep-alive

< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/

<

<!DOCTYPE html>...</html>


服务器一般会使用cookie来标识用户,如果接受并带上该cookie继续访问,服务器会认为你是一个已标识的正常用户。因此,大部分网站需要使用cookie的来爬取内容。




关键词: 网络爬虫     协议    

工程师
2020-05-08 19:30:12     打赏
2楼

解析的还不够详细我觉得


工程师
2020-05-10 14:44:00     打赏
3楼

学到了


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]