关于get和post请求的区别:
- get请求没有请求体,post有请求体,get请求把数据放到url地址中
- post请求常用于登录注册
- post请求携带的数据量比get请求大,多,常用于传输大文本的时候
HTTP协议之请求(request):
1.请求行 看是什么方法进行请求
2.请求头:
User-Agent:用户代理:对方服务器能过通过User-Agent知道当前请求的是什么浏览器,也可防止爬虫
如果我们需要模拟手机版的浏览器发送请求,对应的,就需要把User-Agent改成手机版
在Accept中的 q的含义是:优先级(换句话说就是q越大我越愿意接受什么样的数据)
Cookie:用来存储用户信息的,每次请求会被携带上发送给对方的浏览器
要获取登录后才能访问的页面
对方的服务器会通过cookie来判断我们是否是一个爬虫
还有例如Referer 后的值 是上一次的浏览地址。也就是来源
accept:客户端接受什么类型的响应
Refresh:定时刷新
Cache-Control:对缓存进行控制,如一个请求希望响应返回的内容在客户端要被缓存一年,或不希望被缓存就可以通过这个报文头达到目的 Cache-Control: no-cache 不缓存
Connection:浏览器通过这个告诉服务器,请求完后是断开连接还是保持链接
X-Requested-With:XMLHttpRequest 代表通过ajax方式进行访问
爬虫 不设置请求头 默认是 python-requests/2.21.0 python + request + 版本号
3.请求体:
get请求没有请求体
post请求有请求体
HTTP协议之响应(response):
1.响应头
Set-Cookie:对方服务通过该字段设置Cookie到本地
2.响应体
url地址对应的响应