Response响应相关

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)         # 302
print(response.url)                 # http://www.jd.com/
print(response.history)             # []

response = requests.get(‘http://www.jd.com‘)
print(response.status_code)         # 200
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":"1","b":"2"}
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‘})

原文地址:https://www.cnblogs.com/st-st/p/10306036.html

时间: 2024-07-30 19:59:20

Response响应相关的相关文章

网站后端_Python+Flask.0008.FLASK响应相关之隐式显式与自定义响应?

隐式响应: 1. 视图函数的返回值会被隐式转换为一个响应对象 2. 如果返回的是一个合法的响应对象,则会从视图函数中直接返回 3. 如果返回的是一个字符串,会用字符串数据和默认参数创建字符串为主体,状态码为200,MIME类型为text/html的werkzeug.wrappers.Response响应对象 4. 如果返回的是一个元组(response, status, headers),且至少包含一个元素,status值会覆盖状态代码,headers可以是一个列表或是字典,作为额外的消息头 5

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

官方文档: https://docs.djangoproject.com/en/1.11/ref/request-response/ 视图中的request请求对象: 当请求页面时,Django创建一个HttpRequest包含有关请求的元数据的对象. 常用的值和操作: ·         request.method      #获取请求属性 ·         request.GET         #获取GET请求的参数字典信息,用.get()取值 ·         request.PO

JSP内置对象---response 响应

将response.jsp 页面的html标签(包括html.head.body)全部删掉. <%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8" %><% response.setContentType("text/html;charset=utf-8");//设置响应的M

Node.js与Sails~自定义的Response响应体

在Node.js里,你可以控制请求和响应,自己可以定义自己的响应方式,如对文本如何响应,对json如何响应,对图像流如何响应等等,而这些在Sails架构里,变得更加容易和清晰了,它位于项目的api/responses目录下,你可以定义自己的响应体. 其实sails为我们封装了一些标准的相应,如view方法,这也就是一种响应体,它可以将文本,json对象渲染到指定的视图上,而我们自己可以效仿它,实现自己的响应体,下面代码是官方给出的一个实例,它的方法名为myResponse,这是sails架构一个

JavaWeb之response响应中文乱码问题

response向页面响应中文乱码问题  字节流 * 有可能乱码,与中文转换成字节数组.浏览器打开的默认字符编码有关 * 解决方式:将中文转成字节数组的时候和浏览器默认打开的时候采用的字符集一致 response.setHeader("Content-Type", "text/html;charset=utf-8"); response.getOutputStream().write("张三".getBytes("utf-8"

JavaWeb学习记录(一)——response响应头之缓存设置与下载功能的实现

一.HTTP中常用响应头 Location: http://www.it315.org/index.jsp Server:apache tomcat Content-Encoding: gzip Content-Length: 80 Content-Language: zh-cn Content-Type: text/html; charset=GB2312 Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT Refresh: 1;url=http://ww

Laravel表单篇----request请求,session存储,response响应以及中间件

请求Request 取值(传入参数Request $request) $request -> input('name');(请求name值) $request -> input('sex', '未知');(也可以请求未被定义的参数) $request -> all();(得到所有请求值) 判断取值类型 $request -> method();(判断请求类型) $request -> isMethod('GET');(判断是否为get请求) $request -> aj

flask基础之Response响应对象(九)

前言 Response对象负责对客户端的响应,每一个请求都会有一个Response对象,那么它在一个请求的声明周期内是怎么发挥作用的呢? Response对象 响应发生的位置 先回顾一下http请求的flask处理流程: 接收请求-->创建请求上下文-->请求上下文入栈-->创建该请求的应用上下文-->应用上下文入栈-->调用视图函数处理逻辑-->请求上下文出栈-->应用上下文出栈 Response对象在调用视图函数处理逻辑后就被创建,但是对客户端的响应在应用上下

用JS获取http的response响应码

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>状态码测试</title> </head> <body> </body> <script> fetch("www.baidu.com").then(function(response) {console.log(response.s