POST 请求

本文最后更新于 2024年7月18日 凌晨

POST 请求介绍

与 GET 请求不同,POST 请求将数据封装在请求体中,而不是在 URL 中传递。通常情况下,POST 请求用于向服务器提交表单数据、上传文件等操作。

使用场景

在写爬虫抓取数据的时候,我们不仅只使用 get 请求,在一些场景下还会遇到 post 请求,比如登录注册、参数需要传输大文本内容的时候

案例:模拟登录

对于一些需要登录才能访问的页面,我们该如何利用 Python 爬虫的方法去访问需要登录的页面呢

步骤1

通过抓包,找到登录接口

  1. 打开目标网页,点击登录
  2. 打开调试控制台
  3. 输入一组错误的账号密码,点击登录
  4. 在控制台看到登录的请求
  5. 查看登录接口的 URL 地址、请求参数

一般是在调试控制台的 Fetch 部分

步骤2

编写代码请求登录接口,传入正确的账号和密码

  • cookie 是 Web 服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息。无论何时用户访问到服务器,都会带上该服务器的 cookie 信息
  • 一般 cookie 都是有有效期的, cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,就会被系统自动销毁

Session

  • session 将数据保存在服务器中,服务器会为每个用户创建一条 session,用户访问服务器的时候需要拿着 sessionid 去表明自己的身份

Token 鉴权机制

判别鉴权机制

  1. 首先可以看 POST 的提交信息,如果是 FORM DATA,那么对应的就是 Cookie + Session 鉴权机制;如果不是 FORM DATA 的话,那么一般是 Token 鉴权机制
  2. 其次可以看 POST 请求的 URL 地址,如果 URL 地址与原网址相同,那么一般是 Cookie + Session 鉴权机制;如果请求的 URL 地址与原网址不同,那么一般是 Token 鉴权机制
  1. 传递账号和密码,进行登录
  2. 登录之后保存 cookie(返回时在响应头的 set-cookie 字段中)
  3. 请求其他的页面时,携带 cookie

针对 Token 鉴权的网站模拟登录

  1. 传递账号和密码,进行登录
  2. 登录之后保存 token(返回时在响应体中)
  3. 请求其他的页面时,携带 token

POST 请求
http://example.com/2024/07/18/pachong-5/
作者
Coder7
发布于
2024年7月18日
许可协议