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
  • 相关阅读:
    UILabel的使用
    CGAffineTransform的使用
    UIView的常用方法
    UICollectionViewController的用法1
    网址连接
    android developers blog
    Java并发编程:volatile关键字解析
    Android触摸屏事件派发机制详解与源码分析
    setScale,preScale 和 postScale 的区别
    android 内存
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/9041867.html
Copyright © 2011-2022 走看看