response是响应的对象

response.text      # 返回的是字节,数据的原内容
response.content # 返回的是字符串,默认是utf-8解码

import requests

response = requests.get('http://httpbin.org/get')

t1 = response.text              # 返回是str类型的数据
t2 = response.content # 返回是bytes类型的数据

重定向:浏览器发送请求,服务器返回重定向的状态码和location,没有响应体。浏览器会自动再发送给location的url一次请求,才能得到响应体

respone.status_code     # 返回状态码
respone.headers         # 返回的是响应头
respone.url          # 返回最后请求的URL

response.history                      # 默认情况下,除了 HEAD, Requests 会自动处理所有重定向。可以使用响应对象的 history 方法来追踪重定向。Response.history 是一个 Response 对象的列表,为了完成请求而创建了这些对象。这个对象列表按照从最老到最近的请求进行排序。

response = requests.get('http://www.jd.com',allow_redirects=False)      # 禁止重定向
print(response.status_code) #
print(response.url) # http://www.jd.com/
print(response.history) # [] response = requests.get('http://www.jd.com')
print(response.status_code) #
print(response.url) # https://www.jd.com/
print(response.history) # [<Response [302]>]

respone.cookies           # 返回对象
respone.cookies.get_dict()       # 返回字典格式
respone.cookies.items()        # 返回列表格式,里面是一个个元组

response = requests.get("https://github.com/login")
print(response.cookies) # 返回一个对象 print(response.cookies.get_dict()) # 返回字典格式 {'logged_in': 'no'}
print(response.cookies.items()) # 返回列表格式 [('logged_in', 'no'),]

respone.encoding                     # 用于解码

response = requests.get('https://www.autohome.com.cn/beijing/')
response.encoding = 'gbk' # 指定编码 with open('qiche.html','w') as f:
f.write(response.text)

下载二进制资源(图片、视频、音频)

response.iter_content()

response = requests.get('http://img.ivsky.com/img/tupian/pre/201808/02/xunyicao-002.jpg')

with open('fengjing.jpg','wb') as f:
for line in response.iter_content(): # response.iter_content(),返回一个迭代器
f.write(line)

解释json数据

response.json()            # 将数据反序列化

import requests
import json cookies = {"a":"","b":""}
response = requests.get('http://httpbin.org/cookies',cookies=cookies)
dic1 = json.loads(response.text) # 将字符串反序列化为字典格式 {'cookies': {'a': '1', 'b': '2'}}
dic2 = response.json()

使用代理

requests.get('http://httpbin.org/ip', proxies={'http':'110.83.40.27:9999'})

Response响应相关的更多相关文章

  1. Servlet的学习之Response响应对象(3)

    本篇来说明响应对象HttpServletResponse对象的最后一点内容. 首先来看响应对象控制浏览器定时刷新,在我的web应用[myservlet]中创建Servlet,在该Servlet中设置响 ...

  2. Servlet 响应 响应相关与重定向 请求 获取表单数据2种方法

    一.HttpServletResponse  (响应) 包括下面三个: 1.响应消息行  HTTP/1.1  200 OK 200是HTTP状态码, 代表请求已成功. (查httpservletres ...

  3. Servlet的学习之Response响应对象(2)

    本篇接上一篇<Servlet的学习之Response响应对象(1)>,继续从HttpServletResponse响应对象来介绍其方法和功能. 使用setHeader方法结合HTTP协议的 ...

  4. 第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍

    第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍 Requests请求 Requests请求就是我们在爬虫文件写的Requests() ...

  5. 二十五 Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍

    Requests请求 Requests请求就是我们在爬虫文件写的Requests()方法,也就是提交一个请求地址,Requests请求是我们自定义的 Requests()方法提交一个请求 参数: ur ...

  6. Django视图函数之request请求与response响应对象

    官方文档: https://docs.djangoproject.com/en/1.11/ref/request-response/ 视图中的request请求对象: 当请求页面时,Django创建一 ...

  7. Servlet的学习之Response响应对象(1)

    在之前学习了Servlet中的主体结构,包括Servlet的生命周期方法,和非生命周期方法能获取的一些非常重要的对象如ServletConfig.ServletContext对象等,而从这篇开始我们将 ...

  8. response响应

    郭晨 软件151 1531610114 response1.response常用APIsetStatus:设置响应行当中的状态码setHeader:设置响应头信息getOutputStream:获得字 ...

  9. JSP内置对象---response 响应

    将response.jsp 页面的html标签(包括html.head.body)全部删掉. <%@ page language="java" import="ja ...

随机推荐

  1. python时间戳,获取当前时间,时间格式转换,求出前几天或后几天的时间

    import time import datetime import locale import random class TimeUtil: def __init__(self, curtime=N ...

  2. Python浮点数数据精度控制

    代码 import decimal from decimal import Decimal, getcontext if __name__ == '__main__': decimal.getcont ...

  3. 转 java 8 lamba stream

    一直在写中间件相关的代码,提供SDK给业务方使用,但很多业务方还一直停留在1.7版本,迟迟不升级,为了兼容性,不敢在代码中使用Java8的一些新特性,比如Stream之类的,虽然不能用,但还是要学一下 ...

  4. Eclipse 单个tomcat多个项目部署原理(tomcat配置的环境变量catalina.home和catalina.base)

    一:概念 catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录. catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf.log ...

  5. linux 程序失败自动重启

    最近写了一个spark streaming 程序,但是程序跑着跑着就报错了,而且不会自动重启,以下脚本实现了程序失败自动重启 基本原理:查看程序日志文件是否有ERROR或Exception字样,有说明 ...

  6. PHP写接口需要注意的问题

    PHP写接口需要注意的问题方法前面建议写传过来的参数 1 防止xss攻击2 防止sql语句注入3 sign签名验证4 不经常更新的加索引和缓存 app请求时候 参数都要加urlencode 防止参数带 ...

  7. Spring Boot 项目的 API 接口防刷

    首先是写一个注解类 拦截器中实现 注册到springboot中 在Controller中加入注解 说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考 一,技术要点:springbo ...

  8. was unable to refresh its cache! status = Cannot execute request on any known server

    出现这种错误是因为: Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为. 在 yml中设置 eureka.client.register-with-eu ...

  9. c++项目经验分享

    1.C++的const比C语言#define更好的原因? 首先,它能够明确指定类型,有类型检查功能. 其次,可以使用C++的作用域规则将定义限制在特定的函数[常函数]或文件中. 第三,可以将const ...

  10. 2. Spark GraphX解析

    2.1 存储模式 2.1.1 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式 1)边分割(Edge-Cut):每个顶点都存储一次,但有的边会被打断分到两台机器上.这样做的好处是节省存储空间 ...