python requests模块-Response

Response类故名思议,它包含了服务器对http请求的响应。通过调用Response类的属性,可以查看具体的响应信息。 示例如下:

import requests
r = requests.get(‘https://api.github.com/events‘)
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()方法,避免响应内容过大占用大量内存。

参考资料

原文地址:https://www.cnblogs.com/zhuosanxun/p/12641052.html

时间: 2024-10-29 19:12:31

python requests模块-Response的相关文章

Python requests模块学习笔记

1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. 在Python的世界里,事情不应该这么麻烦. Requests 使用的是 urllib3,因此继承了它的所有特性.Request

python requests模块详解

requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码. 我也看了下requests的文档,确实很简单,适合我这种懒人.下面就是一些简单指南. 插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看,内容也比我的博客好多了,具体链接是:http://cn

Python requests模块学习

import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']} >>> r = requests.get('http://httpbin.org/get', params=payload) >>> print(r.url) http://httpbin.org/get?key1=value1&a

python:requests模块

requests模块是我在学习爬虫时学到的一个模块,它的api比较简单好用,这里简介下使用方法. 其实这个很好使用,几行代码就可以获取一个网页的内容: import requests url = 'http://www.juzimi.com/ju/252304' response = requests.get(url) print (response.text) 它支持很多http请求类型:get,post,put,delete,head,options 其中获取的响应内容有2中显示方法 .co

python requests模块session的使用建议及整个会话中的所有cookie的方法

话不多说,直接上代码 测试代码 服务端 下面是用flask做的一个服务端,用来设置cookie以及打印请求时的请求头 # -*- coding: utf-8 -*- from flask import Flask, make_response, request app = Flask(__name__) @app.route('/a1') def a1(): print(request.headers) rp = make_response() rp.set_cookie('a1', '123'

Python Requests模块讲解4

高级用法 会话对象 请求与响应对象 Prepared Requests SSL证书验证 响应体内容工作流 保持活动状态(持久连接) 流式上传 块编码请求 POST Multiple Multipart-Encoded Files 事件挂钩 自定义身份验证 流式请求 代理 合规性 编码方式 HTTP动词 响应头链接字段 Transport Adapters Example: Specific SSL Version Blocking Or Non-Blocking? Timeouts CA Cer

python requests 模块初探

现在经常需要在网页中获取相关内容. 其中无非获取网页返回状态,以及查看网页获取的内容几个方面,那么在这方面来看requests可能比urllib2库更简便一些. 比如:先用方法获取网页 r = requests.get("http://www.baidu.com") #查看返回码 r.status_code #查看获取的网页内容 r.text #如果网页返回的是一个json串,也可以比较方便获取 kk = r.json() print kk #查看网页的编码格式 r.encoding

python Requests模块的使用简介

Requests的安装: pip install Requests Requests的使用: import requests url = "http://www.mzitu.com" response = requests.get(url) # 获得请求 response.encoding = "utf-8" # 改变其编码 html = response.text # 获得网页内容 binary__content = response.content # 获得二进

[错误记录]python requests库 Response 判断坑

在requests访问之后, 我直接判断resp的值, 如下: if resp: do something 发现当Response 为500的时候没有进入if分支, 检查源码,发现Response重写了__bool__方法, 根据resp.raise_for_status来确定是否为True, 当为500时, 为假, 记录一下