IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> flask 【GET/POST】数据处理 -> 正文阅读

[Python知识库]flask 【GET/POST】数据处理

#!/user/bin/env python
# -*-encoding:utf-8-*-
import flask
import hashlib


app = flask.Flask(__name__)


@app.route(rule="/getsign",methods=["POST","GET"])
def getsign():
    if flask.request.method in ["POST"]:
        params = flask.request.get_json()
        pid = flask.request.headers.get("pid")
        timestap = flask.request.headers.get("clienttime")
        appkey = "*s&iN#G70*"
        keys = params.keys()
        keys = sorted(keys)
        queryString = ""
        appKey = appkey
        for key in keys:
            queryString += key + "=" + str(params[key]) + "&"
        if len(queryString) > 0:
            queryString = queryString[:len(queryString) - 1]
        queryString = queryString + appKey
        result = hashlib.md5(queryString.encode()).hexdigest()
        if pid in ["66595239"] and str(params["clienttime"]) == str(timestap):
            return str({"code":0,"msg":"成功","sign":str(result[8:24])}),200,{"pid":pid,"clienttime":timestap}
        elif pid not in ["66595239"] and str(params["clienttime"]) == str(timestap):
            return str({"code":1,"msg":"非指定用户,拒绝请求","sign":""}),403,{"pid":pid,"clienttime":timestap}
        elif pid in ["66595239"] and str(params["clienttime"]) != str(timestap):
            return str({"code": 2, "msg": "时间戳不对应,请检查!", "sign": ""}), 403, {"pid": pid, "clienttime": timestap}
        else:
            return str({"code": 3, "msg": "时间戳用户不对应,请检查!", "sign": ""}), 403, {"pid": pid, "clienttime": timestap}

    elif flask.request.method in ["GET"]:
        params = flask.request.args
        d = {}
        for k,v in params.items():
            d.update({k:v})
        pid = flask.request.headers.get("pid")
        timestap = flask.request.headers.get("clienttime")
        appkey = "*s&iN#G70*"
        keys = params.keys()
        keys = sorted(keys)
        queryString = ""
        appKey = appkey
        for key in keys:
            queryString += key + "=" + str(params[key]) + "&"
        if len(queryString) > 0:
            queryString = queryString[:len(queryString) - 1]
        queryString = queryString + appKey
        result = hashlib.md5(queryString.encode()).hexdigest()
        if pid in ["66595239"] and str(d["clienttime"]) == str(timestap):
            return str({"code":0,"msg":"成功","sign":str(result[8:24])}),200,{"pid":pid,"clienttime":timestap}
        elif pid not in ["66595239"] and str(d["clienttime"]) == str(timestap):
            return str({"code":1,"msg":"非指定用户,拒绝请求","sign":""}),403,{"pid":pid,"clienttime":timestap}
        elif pid in ["66595239"] and str(d["clienttime"]) != str(timestap):
            return str({"code": 2, "msg": "时间戳不对应,请检查!", "sign": ""}), 403, {"pid": pid, "clienttime": timestap}
        else:
            return str({"code": 3, "msg": "时间戳用户不对应,请检查!", "sign": ""}), 403, {"pid": pid, "clienttime": timestap}



if __name__ == '__main__':
    app.run(host="127.0.0.1",port=8080,debug=True)
#!/user/bin/env python
# -*-encoding:utf-8-*-
import time
import requests
import json
from publicMethod import getSign
from publicMethod import mysql
from publicMethod import conmand
from urllib.parse import urlencode
from rediscluster import RedisCluster


class case:
    def __init__(self):
        self.timestap = int(time.time() * 1000)
        self.headerUrl = {
            "Content-Type":"application/x-www-form-urlencoded",
            "pid":"66595239",
            "clienttime": str(self.timestap)
        }
        self.headerJson = {
            "Content-Type":"application/json",
            "pid":"66595239",
            "clienttime": str(self.timestap)
        }

    def getsign_post(self):
        self.url = "http://127.0.0.1:8080/getsign"
        self.body = {
            "appid": "2860",
            "clientver": "300000",
            "clienttime": str(self.timestap),
            "uuid": "eddbf2b6e7055dc45fad51efb7d95796",
            "mid": "81542419015019914174620791166427706049",
            "dfid": "-",
            "device": "eddbf2b6e7055dc45fad51efb7d95796",
            "playerId": "66595239",
            "sn": "0",
        }
        r = requests.post(url=self.url,json=self.body,headers=self.headerJson)
        print(r.text)
        print(r.status_code)
        print(r.headers)


    def getsign_get(self):
        self.url = "http://127.0.0.1:8080/getsign?"
        self.uri = {
            "appid": "2860",
            "clientver": "300000",
            "clienttime": str(self.timestap),
            "uuid": "eddbf2b6e7055dc45fad51efb7d95796",
            "mid": "81542419015019914174620791166427706049",
            "dfid": "-",
            "device": "eddbf2b6e7055dc45fad51efb7d95796",
            "playerId": "66595239",
            "sn": "0",
        }
        r = requests.get(url=self.url+urlencode(self.uri),headers=self.headerUrl)
        print(r.text)
        print(r.status_code)
        print(r.headers)




if __name__ == '__main__':
    r = case()
    r.getsign_post()
    r.getsign_get()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:32:27  更:2022-04-22 18:34:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:53:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码