想从python请求模块获取http请求

时间:2015-06-01 13:40:18

标签: python http python-requests httplib

我想使用python请求模块来准备http请求并使用http socket发送请求,这样我就可以检测到连接问题了。 任何人都可以建议我如何从python请求模块中检索原始请求(不发送请求)

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 

1 个答案:

答案 0 :(得分:0)

prepped(PreparedRequest Object)具有:

  • 属性:

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

url:将请求发送到的HTTP URL。

标头:HTTP标头字典。

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

方法:发送到服务器的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。

Reference