欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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("....")
相关标签: requests