requests模块模拟浏览器客户端发送数据
程序员文章站
2022-05-08 10:00:01
...
requests模拟端
import requests
##GET方式发送请求
# requests.get(url='http://127.0.0.1:8090/requests/?k1=123')
# #or
# requests.get(
# url='http://127.0.0.1:8090/requests/',
# params={"k1":"234"}
# )
'''POST方式发送请求'''
requests.post(
url='http://127.0.0.1:8090/requests/',
# data={"k1":"21","k2":"22"} # 这种没有问题 <QueryDict: {'k1': ['21'], 'k2': ['22']}>
# data={"k1":"21","k2":{"k3":"45"}}, #字典里面套字典,结果:<QueryDict: {'k1': ['21'], 'k2': ['k3']}>
#为了避免上面情况的发生,用json参数
json={"k1":"21","k2":{"k3":"45"}},#{'k1': '21', 'k2': {'k3': '45'}}
#对应函数要做特殊处理
)
对应函数处理端
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def req(request):
import json
print(request.GET)
print(request.POST)
if request.method=="POST":
print(json.loads(str(request.body,encoding="utf-8")))
return HttpResponse("....")