当前位置: 首页 > 后端技术 > Python

爬虫入门基础——HTTP协议流程

时间:2023-03-26 11:46:12 Python

======================当我们在浏览器中输入网址会发生什么?比如https://www.baidu.com我们可以用curl-vhttps://www.baidu.com来研究这个进程,我们会发现一共有4个子进程。1.找到域名对应的IP地址*RebuildURLto:https://www.baidu.com/*Trying14.215.177.38...我们可以通过nslookupwww.baidu.com模拟这个过程,dns服务器返回两个IP地址,curl会随机选择其中一个IP服务器访问。2.向IP对应的服务器发送SSL协商请求进行SSL协商*连接www.baidu.com(14.215.177.38)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(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/70.0.1276.73Safari/537.36,说明你是用浏览器访问。有时它会检查是否有Referer信息,检查你的Referer是否合法。4、服务器响应请求,回传网页内容...服务器一般使用cookie来识别用户。如果您接受并继续使用该cookie进行访问,服务器将把您视为已识别的普通用户。因此,大多数网站都需要使用cookie来抓取内容。