声明:学习资料来源于wistbean’s github

Part 1: 理论基础

请求方式

GET 请求

www.xxxxx.com/s?xx=yyyyy&xx=yyyyy?后即为键值对形式的请求参数。

POST 请求

Form表单方式提交参数的请求,参数一般在request body里面。

  • 请求头 Request Header
    包含一些 HTTP请求 的头部信息,如Accept, Host, cookie, User-Agent
  • 响应头 Response Header
  • 响应体 Response Body
    服务器返回的数据。

Part 2: 通过 Fiddler 进行手机抓包

设置

  1. 配置浏览器代理
    浏览器 - 设置 - 高级 - 打开代理设置 - IP127.0.0.1 端口8888
  2. 安装 HTTPs 证书
    Fiddler - Tools - Options - HTTPS - 勾选 Decrypt HTTPS traffic - Actions - Reset All Certificates
  3. 下载证书
    浏览器输入localhost:8888,点击FiddlerRoot certificate下载证书。
  4. 设置 Fiddler
    设置Fiddler Classiclistens onport: 8888
    勾选Act as system proxy on startup, Monitor all connections, Allow remote computers to connect, Reuse client connections, Reuse server connections ,DefaultLan及本框所有
  5. 重启电脑
  6. 手机连接统一 WIFI,浏览器进入[IPv4地址]:8888,点击FiddlerRoot certificate下载证书。
  7. 仅针对iPhone,Android跳过此步。设置 - 通用 - 关于本机 - 证书信任设置 - 勾上刚下载的证书。

此节暂时终止,原因为手机添加代理后无法上网,且未解决Tunnel To 443问题。

Part 3: 第三方库

Urllib 库的使用

  • requset 模块

    主要作用:发起请求

    • urllib.request.urlopen(url, data=None, [timeout,]*)
      默认是 Get 请求,传入参数 data 后成为 POST 请求。
    • urllib.request.Request(url, data=None, headers={}, method=None)
      此函数可以传入请求头信息了。
  • error 模块

    主要作用:异常处理

  • parse 模块

    解析 URL 地址

  • robotparser

    解析 robot.txt

Request 库的使用

Urllib 简单得多,推荐首选。

使用自行查找(官方文档)[https://requests.readthedocs.io/en/latest/]。

Part 4: 正则表达式

(Github 教程)[https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md#learn-regex]
(re 库)[https://docs.python.org/3/library/re.html]