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

198 篇文章 0 订阅
189 篇文章 0 订阅

当我们在浏览器中输入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服务器进行访问。
    在这里插入图片描述
    2、向IP对应的服务器发送SSL协商请求,进行SSL协商
  • Connected to www.baidu.com (14.215.177.38) port 443 (#0)
    下图是通过Wireshark抓包获取的协商过程。
    在这里插入图片描述
    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是否合法。
在这里插入图片描述
4、服务器响应请求,发回网页内容
< HTTP/1.1 200 OK
< Connection: keep-alive
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<

...

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值