zoukankan      html  css  js  c++  java
  • API验证

    API验证

    客户端

    import requests
    import time
    import hashlib
    
    def getSha1(s):
        sha1 = hashlib.sha1()
        sha1.update(s)
        return sha1.hexdigest()
    
    if __name__ == "__main__":
        url = "http://127.0.0.1:8000/getInfo"
        key = "something is right"
        ctime = time.time()
    
        pass_str = "%s|%s"%(key, ctime)
        b_pass_str = pass_str.encode("utf-8")
        sha1_str = getSha1(b_pass_str)
    
    
        ret = requests.get(url=url, params={"date": "%s|%s"%(sha1_str, ctime)})
        print(ret.text)
    

      

    服务端

    KEY = "something is right"
    from django.shortcuts import render, HttpResponse
    import hashlib
    import time
    from django.conf import settings
    
    def getSha1(s):
        sha1 = hashlib.sha1()
        sha1.update(s)
        return sha1.hexdigest()
    
    
    
    def getInfo(request):
        user_li = []
        if request.method == "GET":
            key = settings.KEY
            date = request.GET.get("date")
    
            if date in user_li:
                return HttpResponse("使用过了")
            if date:
                password, ctime = date.rsplit('|', maxsplit=1)
    
                if float(ctime) + 5 < time.time():
                    return HttpResponse("时间过期楽")
                new_info = "%s|%s" % (key, ctime)
                new_info = new_info.encode("utf-8")
                new_password = getSha1(new_info)
    
                if new_password == password:
                    return HttpResponse("It is right")
    

      

  • 相关阅读:
    清除陷入CLOSE_WAIT的进程
    Eclipse
    远程连接elasticsearch遇到的问题
    Linux环境Nginx安装
    CentOS安装mysql
    py2exe使用方法
    Python3.4如何读写Excel
    getPhysicalNumberOfCells 与 getLastCellNum的区别
    浅析MySQL中exists与in的使用
    【MongoDB for Java】Java操作MongoDB
  • 原文地址:https://www.cnblogs.com/alwaysInMe/p/7624548.html
Copyright © 2011-2022 走看看