在使用 requests
模块 时,有没有办法打印原始 HTTP 请求?
我不只想要标题,我想要请求行、标题和内容打印输出。是否可以看到最终由 HTTP 请求构造的内容?
原文由 huggie 发布,翻译遵循 CC BY-SA 4.0 许可协议
在使用 requests
模块 时,有没有办法打印原始 HTTP 请求?
我不只想要标题,我想要请求行、标题和内容打印输出。是否可以看到最终由 HTTP 请求构造的内容?
原文由 huggie 发布,翻译遵循 CC BY-SA 4.0 许可协议
import requests
response = requests.post('http://httpbin.org/post', data={'key1': 'value1'})
print(response.request.url)
print(response.request.body)
print(response.request.headers)
Response
对象有一个 .request
属性,它是发送的 PreparedRequest
对象。
原文由 Payman 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
由于 v1.2.3 Requests 添加了 PreparedRequest 对象。根据文档“它包含将发送到服务器的确切字节”。
可以使用它来漂亮地打印请求,如下所示:
产生:
然后你可以用这个发送实际的请求:
这些链接指向可用的最新文档,因此它们的内容可能会发生变化: 高级 - 准备好的请求 和 API - 较低级别的类