zoukankan      html  css  js  c++  java
  • api校验

    服务端代码:
    
    import hashlib
    import time
    KEY = 'RTYUIFGHJKVBNM'
    
    
    def gen_key(ctime):
        md5 = hashlib.md5()
        key = "{}|{}".format(KEY,ctime)
        md5.update(key.encode('utf-8'))
        return md5.hexdigest()
    
    
    class TestView(APIView):
        def post(self,request):
            print(request.data)
            # print(request._request.GET.get('KEY'))
            key = request.query_params.get('key')
            ctime = request.query_params.get('time')
            now = time.time()
            if now - float(ctime) > 3:
                return Response('校验失败,Key超时')
    
            if key != gen_key(ctime):
                return  Response('校验失败')
    
            return Response('ok')
    客户端代码:
    
    import requests
    import time
    import hashlib
    
    KEY = 'RTYUIFGHJKVBNM'
    data = {'k1':'v1'}
    
    def gen_key(ctime):
        md5 = hashlib.md5()
        key = "{}|{}".format(KEY,ctime)
        md5.update(key.encode('utf-8'))
        return md5.hexdigest()
    
    ctime = time.time()
    key = gen_key(ctime)
    time.sleep(3)
    ret = requests.post(
        url='http://127.0.0.1:8000/app01/test/',
        data = data,
        params = {'key':key,'time':ctime}
    )
    print(ret.text)
    We are down, but not beaten. tested but not defeated.
  • 相关阅读:
    命令行下的curl使用详解
    升级python版本(从2.4.3到2.6.5)
    vim设置
    php中curl模拟post提交多维数组
    vim折叠设置
    基础算法4——归并排序
    总线类型
    主板分类
    网卡 接口类型
    基础算法3——直接选择排序和堆排序
  • 原文地址:https://www.cnblogs.com/guniang/p/11458316.html
Copyright © 2011-2022 走看看