Python|Python requests用法和django后台处理详解
目录
- 1、requests 的常见用法
- 1.1、提交查询
- 1.2、提交表格
- 1.3、在提交时附加文件:
- 1.4、保持状态
- 1.5、查看结果
- 2、django 的处理
- 2.1、params 传入的参数
- 2.2、data 传入的参数
- 2.3、files 传入的参数
- 总结
1、requests 的常见用法 requests 除了 url 之外,还有 params, data 和 files 三个参数,用于和服务器后台交互。
1.1、提交查询
注意 get 只支持 params ,不支持 data 和 files。
requests.get(login_url, params={"user": user, "password": password, })
1.2、提交表格
注意,requests.post既支持data,也支持params:
requests.post(form_submit_url, data=https://www.it610.com/article/{"user": user, "password": password, },params={"pool": pool, })
1.3、在提交时附加文件:
files = ["a.csv", "b.xml"]# 注意file需要以binary形式打开。files = [("files", (os.path.basename(file), open(file, "rb")))for file in files]r = requests.post(url, files=files, data=https://www.it610.com/article/data, params=params)
1.4、保持状态
使用 session 保持状态,先登录,再提交表格:
session = requests.Session()session.get(login_url, params)session.post(form_submit_url, data)
1.5、查看结果
最重要的是status_code、reason和content三个成员变量:
r = requests.post(url, files=files, data=https://www.it610.com/article/data, params=params)if r.status_code != 200:print(r.status_code, r.reason) # 打印出错信息。else:print(r.content)# 服务器返回结果
2、django 的处理
2.1、params 传入的参数
对于 requests 通过 params 传入的参数,可以通过request.GET获取:
def handler(request):return request.GET["pool"]# 若未传入参数,将抛出异常# return request.GET.get("pool") # 当没有传入该参数时,返回None# return request.GET.get("pool", "abc") # 默认为abc
2.2、data 传入的参数
对于 requests 通过 data 传入的参数,可以通过request.POST获取:
def handler(request):return request.POST["user"]# 若未传入参数,将抛出异常# return request.POST.get("user") # 当没有传入该参数时,返回None# return request.POST.get("user", "abc") # 默认为abc
2.3、files 传入的参数
对于 requests 通过 files 传入的参数,可以通过request.FILES获取:
def handler(request):for file in request.FILES.getlist("files"):name = file.namecontent = file.file.read()# is binaryopen(name, "wb").write(content) # 保存到本地
总结 【Python|Python requests用法和django后台处理详解】到此这篇关于Python requests用法和django后台处理的文章就介绍到这了,更多相关requests用法和django后台处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Python中三种花式打印的示例详解
- python合集|Pygame实战(BOOM 这有一款超刺激的扎气球游戏等你来玩~)
- 蓝桥杯python题解|蓝桥杯-矩阵切割-python题解
- python|idea在创建实体类的时候自动加上lombok注解和时间作者等注释
- 数据分析|python机器学习之模型选择与优化
- python网络编程案例基于tcp聊天程序_Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能实现方法...
- Python|Python爬虫-获得某一链接下的所有超链接
- 分享|python画圣诞树【全网最全】
- 统计学|灰色关联分析,Python实现GRA(gray relation analysis)
- python|总结|图像分割5大经典方法