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知识库 -> python+requests业务场景接口参数化关系化调用 -> 正文阅读

[Python知识库]python+requests业务场景接口参数化关系化调用

import json
import random
import string
import time

import pymysql
import requests

order_num = time.strftime("%Y%m%d%H%M%S", time.gmtime())


def GetToken(which_token):
    url = 'http://api/user/login'
    if which_token == 'tokenQiao':
        date = {
            "mobile": "1",
            "pwd": "123456",
            "type": "1"
        }

    elif which_token == 'token':
        date = {
            "mobile": "18",
            "pwd": "123456",
            "type": "1"
        }
    else:
        date = {
            "mobile": "133",
            "pwd": "123456",
            "type": "2"
        }
    token = requests.post(url, data=date).json()["data"]["token"]
    print(token)
    return token


def returnSku():
    ran_sku = ['D0164911', 'D10000013', 'D01674208', 'D01674205', 'D01674202', 'D01674199', 'D01674200']
    sku = random.choice(ran_sku)
    return sku


def sqlSelect(needwhat):
    global result_sku
    db = pymysql.Connect(
        host='234567',
        port=3306,
        user='yun',
        password='yun123456',
        db='test',
        charset='utf8'
    )
    cur = db.cursor()
    if needwhat == 'goods_sn':
        result_sku = ()
        # 如果元祖为空就一直循环查询
        #order by rand() sql随机取值
        while not result_sku:
            sql = 'SELECT a.goods_sn,a.goods_name FROM	goods a inner join bgoods b on a.goodsn = b.goodsn where a.class_code IS NOT NULL'
            cur.execute(sql)
            result_sku = cur.fetchall()
    elif needwhat == 'order':
        sql = "select orderid from order where order=%s"
        cur.execute(sql, order_num)
        result_sku = cur.fetchall()
    elif needwhat == 'invoice':
        sql = "select id from voice where ordersn=%s"
        cur.execute(sql, order_num)
        result_sku = cur.fetchall()
    cur.close()
    db.close()
    print(result_sku)
    return result_sku[0][0]


def ImportOrder():
    ran_string = "".join(random.choice(string.ascii_uppercase) for _ in range(6))
    ordertime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print(ran_string + order_num)
    token = GetToken('tokeniao')
    session = requests.session()
    headers = {"Content-Type": "application/json;charset=UTF-8", "token": token}
    url = 'http://mn/importOrder'
    attr = []
    number = 0
    # set()专门用来建立空集合,用这个集合达到去重的效果
    productset = set()
    while number < random.randint(3, 5):
        productset.add(sqlSelect('goods_sn'))
        number += 1
    for goods in productset:
        price = round(random.uniform(1, 10), 2)
        Num = random.randint(1, 10)
        attr.append({
            "下单时间*": ordertime,
            "订单号*": ran_string + order_num,
            "订单号*": order_num,
            "供应商sku*": goods,
            "sku编码": ran_string,
            "商品单价*": price,
            "购买数量*": Num,
            "商品总金额*": round(price * Num, 2),
        })
    print(attr)
    date = json.dumps({"attr": attr})
    response = session.post(url, data=date, headers=headers)
    session.close()
    print(response.json())


def Dan():
    ImportOrder()
    tokenao = GetToken('token')
    session = requests.session()
    headers = {"Content-Type": "application/json;charset=UTF-8", "token": tokenao}
    url = 'http://patchOrder'
    data = {"orderId": sqlSelect('orderId'), "Id": 1010232, "type": 1}
    print(data)
    response = session.post(url, data=json.dumps(data), headers=headers)
    session.close()
    print(response.json())



def GetGoodsInfo():
    token = GetToken('ertoken')
    session = requests.session()
    headers = {"Content-Type": "application/json;charset=UTF-8", "token": token}
    url = 'http://getGoodsInfo'
    data = {"invoiceId": sqlSelect('invoiceId')}
    print(data)
    response = session.post(url, data=json.dumps(data), headers=headers).json()["data"]["not_invoiced_data"]
    session.close()
    #返回的是list
    return response



def KaiPiaoFenPi():
    global productids
    ProductCheckPass()
    tokendw = GetToken('token')
    session = requests.session()
    headers = {"Content-Type": "application/json;charset=UTF-8", "token": token}
    url = 'http://abc'
    for productids in GetGoodsInfo():
        print(productids['id'])
        data = {"type": "0", "isMore": "2", "goods": productids['id']}
        print(data)
        response = session.post(url, data=json.dumps(data), headers=headers)
        print(response.json())
    session.close()



ProductCheckPass()










  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-06 23:09:46  更:2022-04-06 23:09:56 
 
开发: 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 18:37:24-

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