zoukankan      html  css  js  c++  java
  • Day75

    import requests
    # requests.get(url='http://127.0.0.1:8000/api/asset/?K1=123')
    # requests.get(url='http://127.0.0.1:8000/api/asset/',params={'k1':'v1'})
    # # url表示往哪里发送数据,params表示传输的参数是什么
    requests.post(url='http://127.0.0.1:8000/api/asset/')#触发了csrf的认证
    URL--传送数据
    import requests
    # requests.get(url='http://127.0.0.1:8000/api/asset/?K1=123')
    # requests.get(url='http://127.0.0.1:8000/api/asset/',params={'k1':'v1'})
    # # url表示往哪里发送数据,params表示传输的参数是什么
    requests.post(url='http://127.0.0.1:8000/api/asset/',
                  params={'k1':'v1','k2':'v2'},#GET形式传输
                  data={'username':'pandaboy','password':'5555'})#POST形式传输
    #触发了csrf的认证,params触发的是get方式,data触发的是POST形式
    URL--传输数据(POST)
    host_data = {
        'status':True,
        'data':{
            'hostname':'c1.com',
            'disk':{'status':True,'data':'XXX'},
            'mem':{'status':True,'data':'XXX'},
            'nic': {'status': True, 'data': 'XXX'},
        }
    }
    
    requests.post(url='http://127.0.0.1:8000/api/asset/',
                    json=host_data,
                  # params={'k1':'v1','k2':'v2'},#GET形式传输
                  # data={'username':'pandaboy','password':'5555'},
                  # header = {'a':'123'},#请求头传递数据
                  )#POST形式传输
    #触发了csrf的认证,params触发的是get方式,data触发的是POST形式
    URL--json
    from django.shortcuts import render,HttpResponse
    from django.views.decorators.csrf import csrf_exempt,csrf_protect
    # Create your views here.
    @csrf_exempt#这个装饰器就是取消CSRF的验证
    def asset(request):
        # print(request.method)
        # print(request.POST)
        # print(request.GET)
        if request.method == 'POST':
            import json
            host_info = json.loads(str(request.body,encoding='UTF-8'))
            print(host_info)
        return HttpResponse('....')
    # Post发送请求是放在请求体中的
    Django--views

    以下内容已经有bug了,request.META中是没有[HTTP_AUTHKEY]这个字典的

    from django.shortcuts import render,HttpResponse
    from django.views.decorators.csrf import csrf_exempt,csrf_protect
    # Create your views here.
    ck = 'asd7asd1345ad'
    @csrf_exempt#这个装饰器就是取消CSRF的验证
    def asset(request):
        # print(request.method)
        # print(request.POST)
        # print(request.GET)
        auth_key = request.META['HTTP_AUTHKEY']#没有HTTP_AUTHKEY这个字典
        print(auth_key)
        if auth_key!=ck:
            return HttpResponse('授权失败')
        if request.method == 'POST':
            import json
            host_info = json.loads(str(request.body,encoding='UTF-8'))
            print(host_info)
        return HttpResponse('....')
    # Post发送请求是放在请求体中的
    加密验证(初版)

     加密策略:

    1.设置固定"盐"

    2.设置时间戳

    3.进行md5加密

    4.同时发送"盐"+时间戳给服务端

    Win a contest, win a challenge
  • 相关阅读:
    Mysql查询数据库表结构以及字段类型并展示
    Configutation读取properties文件信息
    通过淘宝接口免费获取IP地址信息
    SpringMVC+SPring+Maven+Mybaits+Shiro+Mybaits基础开发项目
    【微信开发】【Asp.net MVC】-- 微信分享功能
    NPOI导出多张图片到Excel
    年末回想 ---- 小步快跑
    【吉光片羽】短信验证
    【JavaScript吉光片羽】--- 滑动条
    电子书和纸质书有什么区别
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/9041867.html
Copyright © 2011-2022 走看看