• Python之requests模块-response


    response类故名思议,它包含了服务器对http请求的响应。每次调用requests去请求之后,均会返回一个response对象,通过调用该对象,可以查看具体的响应信息。 示例如下:

    import requests
    r
    = requests.get('https://api.github.com/events', verify=False)
    print(r.status_code)
    print(r.content)

    此时会打印出响应的状态码和内容。

    我们可以根据自身的需求,获取响应中的各种信息,具体内容见下表:

    属性或属性方法 解释
    r.status_code 响应的http状态码,比如404和200
    r.headers 响应头,可单独取出某个字段的值,比如(r.headers)['content-type']
    r.raw 原始响应,表示urllib3.response.HTTPResponse对象。使用raw时,要求在请求时设置“stream=True”
    r.url 请求的最终地址
    r.encoding 要解码的r.text的编码方式
    r.history 请求的历史记录,可以用于查看重定向信息,以列表形式展示,排序方式是从最旧到最新的请求
    r.reason 响应状态的描述,比如 "Not Found" or "OK"
    r.cookies 服务器发回的cookies,RequestsCookieJar类型
    r.elapsed 从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如r.elapsed.microseconds表示响应到达需要多少微秒
    r.request PreparedRequest对象,可以用于查看发送请求时的信息,比如r.request.headers查看请求头
    r.ok 检查”status_code“的值,如果小于400,则返回True,如果不小于400,则返回False 
    r.is_redirect 判断是否重定向,返回True or False
    r.is_permanent_redirect 判断是否永久重定向,返回True or False
    r.next 返回重定向链中下一个请求的PreparedRequest对象
    r.apparent_encoding 用chardet库判断出的编码方式
    r.content 响应的内容,byte类型
    r.text 响应的内容,unicode类型
    r.links 响应的解析头链接

    response类除了上述属性和属性方法外,还提供了一些其他方法。

    • 较为常用的r.json()方法,用于将响应解析成json格式。
    • 应对stream时的iter_content()iter_line()方法,避免响应内容过大占用大量内存。

    参考资料


    作者:酌三巡

    感谢阅读,如需转载请注明出处!

  • 相关阅读:
    [转帖]译文:如何使用SocketAsyncEventArgs类(How to use the SocketAsyncEventArgs class)
    如何建立一个“绑定友好的”usercontrol--wpf
    安卓学习(三)
    安卓学习(二)
    Android学习1
    用伪代码梳理springboot
    用伪代码梳理javaweb从零开始
    用伪代码梳理spring源码
    java如何写出简洁代码
    JAVA修复微信官方SDK支付XXE漏洞
  • 原文地址:https://www.cnblogs.com/zhuosanxun/p/12641052.html
Copyright © 2020-2023  润新知