python - 如何通过python发送带有标头的GET请求
问题描述
我让 fiddler 捕获了一个 GET 请求,我想用 python 重新发送确切的请求。这是我捕获的请求:
GET https://example.com/api/content/v1/products/search?page=20&page_size=25&q=&type=image HTTP/1.1
Host: example.com
Connection: keep-alive
Search-Version: v3
Accept: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
Referer: https://example.com/search/?q=&type=image&page=20
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
解决方案
您可以使用请求模块。
该requests
模块会自动为您提供大部分标题,因此您很可能不需要手动包含所有标题。
由于您正在发送 GET 请求,因此您可以使用该params
参数来整齐地形成查询字符串。
例子:
import requests
BASE_URL = "https://example.com/api/content/v1/products/search"
headers = {
"Connection": "keep-alive",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
}
params = {
"page": 20,
"page_size": 25,
"type": "image"
}
response = requests.get(BASE_URL, headers=headers, params=params)
推荐阅读
- c++ - 缺少 Qt5PrintSupportd.dll
- java - 将本机查询转换为 JPQL
- spring-boot - Kinesis 作为 Spring Boot Reactive Stream API 中的生产者
- vba - 在另一个 Sub 中编辑一个 Sub
- c# - 如何在 Windows 中制作文件版本号?
- c# - Sql Server Connection C#:插入查询的最大数量
- jpa - 在 MariaDB 中生成唯一 ID
- windows - 如何在 bat/cmd 中设置变量?
- haskell - 如何为 Haskell 应用指定绑定端口?
- raspberry-pi - RTC DS1307 的 RPi 零 - 远程 I/O 错误