想要从Python的requests模块获取HTTP请求

3

我想使用Python的requests模块准备HTTP请求,并使用HTTP套接字发送请求,这样我就可以检测连接问题。有人能建议我如何从Python的requests模块中检索原始请求(而不发送请求)吗?

from requests import Request, Session
for m in ['GET', 'POST']:
    s = Session()
    req = Request(m, url,
        data=data,
        headers=header
    )
    prepped = req.prepare()
    # how to retrieve raw request from prepped 

https://dev59.com/i2Ij5IYBdhLWcg3wEhUA#23816211 - Ajay
1
我已经看过相同的页面,但这不是通用的,因为不同的HTTP方法(如GET)没有请求体。 - user87005
1个回答

0

prepped(PreparedRequest对象)具有以下内容:

  • 属性:

body:要发送到服务器的请求正文。

url:要发送请求的HTTP URL。

headers:HTTP标头的字典。

hooks:回调钩子的字典,供内部使用。

method:要发送到服务器的HTTP动词。

path_url:构建要使用的路径URL。

  • 方法:

deregister_hook(event, hook):注销先前注册的挂钩。如果挂钩存在,则返回True;否则返回False。

prepare(method=None, url=None, headers=None, files=None, data=None, params=None, auth=None, cookies=None, hooks=None, json=None):使用给定的参数准备整个请求。

prepare_auth(auth, url=''):准备给定的HTTP身份验证数据。

prepare_body(data, files, json=None):准备给定的HTTP正文数据。

prepare_cookies(cookies):准备给定的HTTP cookie数据。

prepare_headers(headers):准备给定的HTTP标头。

prepare_hooks(hooks):准备给定的挂钩。

prepare_method(method):准备给定的HTTP方法。

prepare_url(url, params): 准备给定的HTTP URL。

register_hook(event, hook): 正确地注册钩子。

您可以访问它们prepped.what_you_want。

参考


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接