Header和Cookie相关内容

前请提要?

  相信很多同学都对HTTP的header和cookie,和session都有疑问,因为我们开发的时候一般都需要请求网络获取数据,有时候还需要带cookie或者带特殊的字段发起请求。

现在我们就来简单的了解一下这个过程。

1、首先,header包含cookie和session,编码,协议类型,返回类型,提交的参数,客户端信息等等等等。

2、header包括response header和request header

3、cookie是有有效期的,你需要持续的状态的话,可以定义一个token,get和post方式传递都可以,cookie每次都会有返回,只是不产生cookie的时候为空而已。

 服务器连接是需要握手的,第一次发送数据,服务器返回一个状态,然后客户端也返回一个状态,服务器接收到状态之后处理数据返回数据,客户端接受数据。

下面贴图理解一下:

requset header

respons header




request是客户端发送的,包含参数,提交的cookie什么的

response是服务器响应的,包含返回的数据结构和生成cookie什么的


(,,• ₃ •,,) 楼主qq:982981573,欢迎指出不对的地方


### 爬虫中 Header Cookie 的设置 在网络爬虫开发过程中,Header Cookie 是两个非常重要的组成部分。它们可以帮助我们模拟浏览器的行为,提高请求的成功率,并避免被网站识别为自动化程序。 #### 1. **Headers 设置** HTTP 请求头(Headers)包含了许多信息,服务器可以根据这些信息判断客户端的身份、接受的内容类型等。常见的 Headers 包含: - `User-Agent`: 模拟不同类型的浏览器访问,防止被检测到是爬虫。 - `Accept-Language`: 告诉服务器你期望的语言环境。 - `Referer`: 表示当前页面是从哪个 URL 过来的,某些站点会检查这个字段。 - `Connection`: 维持连接状态,默认值一般设为`keep-alive`表示长链接。 **Python 示例 (requests 库)**: ```python import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3' } response = requests.get('https://example.com', headers=headers) print(response.text) ``` #### 2. **Cookies 设置** Cookie 是一种存储用户信息的小型文本文件,通常用于保存登录状态或其他个性化配置。通过传递正确的 Cookies 可以绕过一些需要身份验证才能查看内容的情况。 你可以直接从浏览器抓取目标网页的有效 cookie 并将其添加到请求当中;也可以先发起一次 POST 登录请求获取返回的新鲜 cookie 后再继续操作。 **Python 示例 (requests 库)**: ```python cookies = { '_ga': 'GA1.2.xx...', # 替换为你实际获得的cookie键值对 '_gid': 'GA1.3.yy...' } # 或者使用字典形式读取本地json格式存档好的cookie数据并加载进来... with open("cookies.json", "r") as f: cookies_dict = json.load(f) session = requests.Session() session.cookies.update(cookies or cookies_dict) res = session.get(url='https://www.example.com') print(res.content.decode()) ``` 此外,在持续运行长时间任务时需要注意定期更新 cookies 来保持有效性,以及处理好异常情况下的重试机制等问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值