1.概念
GET 请求是 HTTP 协议中最基础、最常用的请求方法 ,用于向服务器请求(获取)资源 (如网页、图片、API 数据等)。它的核心特点是:只获取数据,不修改服务器状态(即"只读"操作)。
/search?q=HTTP+GET&lang=zh-CN HTTP/1.1
GET 请求的核心特性
特性 | 说明 |
---|---|
安全 | 不应修改服务器数据(仅查询)。多次执行结果相同(幂等)。 |
数据暴露位置 | 参数通过 URL 传递 (拼接在 ? 后,如 ?name=John&age=30 )。 |
可被缓存 | 浏览器/代理服务器可缓存响应结果,提升重复访问速度。 |
有长度限制 | URL 长度受浏览器限制(通常 2KB~8KB),不适合传输大量数据。 |
可被书签收藏 | 参数在 URL 中,保存链接即保存查询状态。 |
历史记录可见 | URL 会出现在浏览器历史记录中。 |
2.编码测试
没加请求头:
直接跳到禁止访问

加了请求头:

可以用这个查看请求头信息
python
print(resp.request.headers)#可以查看到请求头信息
有些网站对设备进行检测,检测到不是正常浏览器,就不给你数据,所以要加上请求头。
3.f12字段
核心请求头字段
字段名 | 作用 | 示例值 |
---|---|---|
Host |
目标服务器的域名和端口 | www.example.com:443 |
User-Agent |
客户端(浏览器/操作系统)标识 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
Accept |
客户端支持的响应内容类型(MIME 类型) | text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 |
Accept-Language |
客户端优先语言 | en-US, en;q=0.9, zh-CN;q=0.8, zh;q=0.7 |
Accept-Encoding |
客户端支持的压缩算法 | gzip, deflate, br |
Connection |
控制连接是否保持活跃 | keep-alive (复用连接)或 close (关闭连接) |
Referer |
当前请求的来源页面 URL(用于防盗链/流量分析) | https://www.google.com/ |
Cookie |
客户端存储的会话信息(由服务器通过 Set-Cookie 设置) |
sessionId=abc123; theme=dark |
Content-Type |
请求体的格式(仅 POST/PUT 等含 Body 的请求) | application/json application/x-www-form-urlencoded |
Content-Length |
请求体的大小(字节) | 348 |
Authorization |
身份凭证(如 Token/Basic 认证) | Bearer eyJhbGciOi... Basic dXNlcjpwYXNz |
高级/功能性请求头
字段名 | 作用 | 示例值 |
---|---|---|
Cache-Control |
控制缓存行为 | no-cache (不直接使用缓存) max-age=3600 (缓存有效期) |
If-Modified-Since |
条件请求:资源在指定时间后修改才返回 | Tue, 15 Aug 2023 12:00:00 GMT |
If-None-Match |
条件请求:资源 ETag 不匹配才返回 | "d5c-5b3a8e0a0f6c0" |
Origin |
跨域请求的来源(由浏览器自动添加) | https://www.site-a.com |
Sec-Fetch-* |
安全元数据(浏览器自动添加) (防 CSRF/恶意请求) | Sec-Fetch-Site: cross-site Sec-Fetch-Mode: cors |
Upgrade-Insecure-Requests |
请求将 HTTP 升级为 HTTPS | 1 (启用升级) |
X-Requested-With |
标识 AJAX 请求(非标准) | XMLHttpRequest |
3.多参数处理
最下面post是form data get请求是 queryString Paramefers
先写一个框架

复制下面一堆

转化成字典格式

加到params里面,相当于用参数的方式拼到url里面,但是post不会,隐藏起来了


当然也要记得用json数据输出
