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)# 返回的数据 文本,用处:接受普通文本或者HTMLprint(返回的数据 文本:\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# dataurl = http://127.0.0.1:5000/data = {username: PyCharm, pwd: 123456}# 传递参数的三种方式:params,data,jsonres = 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,根据接口文档来传递)

# dataurl = http://127.0.0.1:5000/logindata = {username: PyCharm, pwd: 123456}# 传递参数的三种方式:params,data,jsonres = requests.post(url, params=data, data=data)# res1 = requests.post(url, params=data, json=data)print(res.text)# 获取所有的cookies,cookies 是一个对象,里面有很多的cookiecookies = res.cookies
url1
= http://127.0.0.1:5000res1 = 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 管理 cookieres = session.get(url_login) # 相当于先登录 后获取res1 = session.get(url)print(res1.text)

 

 

ps 使用requests请求的简化版接口 

 

from flask import Flask, redirect, jsonify, make_response, Response, requestapp = 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 respapp.run(debug=True)

相关文章