requests -- http请求库(基础)
使用第三方库:requests
下载:pip install requests
发送 get 请求,无参数。(三种响应方式、text、二进制、json)
import requests # requests 第三方库 # 安装: pip install requests todo 文件名称千万不要和 requests 同名 url = ‘http://127.0.0.1:5000/‘ res = requests.get(url) # 没有参数就不用传递参数 print(‘打印出来的一个对象:\n‘, res) # 打印出来的一个对象 # 获取状态码 print(‘状态码:\n‘, res.status_code) # 返回的数据 文本,用处:接受普通文本或者HTML print(‘返回的数据 文本:\n‘, res.text) # 接受响应数据,用处:二进制(图片或者视频等等) b开头 print(‘返回二进制 b开头:\n‘, res.content) # 接受响应数据, decode() 二进制转换成字符串 print(‘二进制转换成字符串:\n‘, res.content.decode()) # 接受响应数据,js格式 如果服务器返回的不是 json 格式的会报错 # 用处:当服务器返回的标准json格式的,接口主要用 json 格式 print(‘js格式:\n‘, res.json())
发送get请求,有参数,useragent 显示的是python发送的请求
url = ‘http://127.0.0.1:5000/‘ data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘} res = requests.get(url, params=data) print(res.text)
发送get请求,有参数,带请求头,代理改为Google (get 只有一种传递方式,没有请求头)
url = ‘http://127.0.0.1:5000/‘ data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘} # 带请求头 headers = {‘User-Agent‘: ‘Google‘} res = requests.get(url, params=data, headers=headers) print(res.text)
发送 post请求,data,form 表单形式。根据需求选择传递参数
import requests # data url = ‘http://127.0.0.1:5000/‘ data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘} # 传递参数的三种方式:params,data,json res = requests.post(url, params=data, data=data) res1 = requests.post(url, params=data, json=data) print(res.text)
获取cookies,获取需要首先登陆后获取 (通过tes.cookies获取所有的cookie)(post传递参数的三种方式,params、data、json,根据接口文档来传递)
# data url = ‘http://127.0.0.1:5000/login‘ data = {‘username‘: ‘PyCharm‘, ‘pwd‘: ‘123456‘} # 传递参数的三种方式:params,data,json res = requests.post(url, params=data, data=data) # res1 = requests.post(url, params=data, json=data) print(res.text) # 获取所有的cookies,cookies 是一个对象,里面有很多的cookie cookies = res.cookies url1 = ‘http://127.0.0.1:5000‘ res1 = requests.post(url1, cookies=cookies) print(res1.text)
使用 Session 管理 cookie 作用是动态管理cookie,集中管理所有的资源,不需要我们手动进行设置
url = ‘http://127.0.0.1:5000/‘ url_login = ‘http://127.0.0.1:5000/login‘ # 创建会话对象, 可以理解成一个浏览器 session = requests.Session() # 会话访问 使用 Session 管理 cookie res = session.get(url_login) # 相当于先登录 后获取 res1 = session.get(url) print(res1.text)
ps 使用requests请求的简化版接口
from flask import Flask, redirect, jsonify, make_response, Response, request app = Flask(__name__) @app.route(‘/‘, methods=[‘GET‘, ‘POST‘]) def index(): if not request.cookies.get(‘user‘): # 验证,session return jsonify({"mag": "login"}) return jsonify({"msg": " hello word"}) # 接口是一个函数,类。 # 不是所有函数都是接口, @app.route(‘/login‘, methods=[‘GET‘, ‘POST‘]) def login(): resp = Response(‘login success‘) resp.set_cookie(‘user‘, ‘user‘) # 保存到服务端。 return resp app.run(debug=True)
相关推荐
emmm00 2020-11-17
yishouwangnian 2020-08-18
温攀峰 2020-08-17
jiangtie 2020-08-15
stulen 2020-08-15
herohope 2020-07-19
FORYAOSHUYUN 2020-07-08
xiaojiang0 2020-06-21
Erick 2020-06-17
hickwu 2020-06-16
小秋 2020-06-15
spinachcqb 2020-06-13
TMD咯MySQL 2020-06-11
88427810 2020-06-10
pengpengflyjhp 2020-06-08
hevenue 2020-06-08
徐建岗网络管理 2020-06-07