python实现京东订单推送到测试环境,提供便利操作示例
作者:zhizunyu2009 发布时间:2021-09-01 09:03:46
标签:python,京东订单,推送
本文实例讲述了python实现京东订单推送到测试环境,提供便利操作。分享给大家供大家参考,具体如下:
# -*- coding: utf-8 -*-
import hashlib
import time
import requests
from order30 import conf
app_key = conf.jd_appkey
appSecret = conf.jd_secret
token = conf.jd_token
def get_md5(string):#返回字符串md5加密后大写
hl = hashlib.md5()
hl.update(string.encode('utf-8'))
return hl.hexdigest().upper()
def get_timestr():#获取2分钟前的时间
time_now = int(time.time())-120
timestr = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time_now))
return timestr
def req_get_result(api_url,api_data):#get方法请求函数
req_get = requests.get(api_url,api_data)
result = req_get.json()
return result
def req_post_result(api_url,api_data):#post方法请求函数
req_post = requests.post(api_url,data=api_data)
result = req_post.json()
return result
def param_sort(param_dict):#传入字典,返回排序后并且连接好的字符串
keys_list = sorted(param_dict.keys())
rb_str = ''
for k in keys_list:
key_value = k + str(param_dict[k])
rb_str = rb_str + key_value
return rb_str
def op_jd_order(outer_order_id,optype):#向测试环境推送一个订单
api_url_dict = {
"33060":"http://xx.xxx.xxx.com/jd/xxx1",# 用户确认收货完成订单
"32000":"http://xx.xxx.xxx.com/jd/xxx2", #创建新订单
"10":"http://xx.xxx.xxx.com/jd/xxx3",#用户申请售后
}
api_url = api_url_dict[optype]
timestamp = get_timestr()
jd_parms = '{"billId":"%s","statusId":"%s","timestamp":"%s"}'%(outer_order_id,optype,timestamp)
api_data = {
'token':token,
'app_key':app_key,
'timestamp':timestamp,
'format':'json',
'v':'1.0',
'jd_param_json':jd_parms
}
sort_str = param_sort(api_data) #对参数进行排序,连接。
params_str = appSecret + sort_str + appSecret #首尾加上appSecret
sign = get_md5(params_str)#获得签名后的大写字符串
api_data['sign'] = sign
req = req_post_result(api_url,api_data)
return req
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/zhizunyu2009/article/details/80581693
0
投稿
猜你喜欢
- 前言PyQt是Python语言环境的GUI编程解决方案之一,另外还有PyGTK、wxPython等也较为常用。PyQt作为Qt语言的Pyth
- 本文实例讲述了django框架model orM使用字典作为参数,保存数据的方法。分享给大家供大家参考,具体如下:假设有一个字典,里面已经有
- 一、argparse介绍官方文档argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以
- 简介说明本文介绍用Navicat添加字段(字符串类型)并设置默认值时的报错问题。问题描述在Java开发过程中,经常会遇到给已有的表添加字段的
- 在我们设计网页的时候,总会遇到一些不愉快的事情,最常见的莫过于在后台添加内容后才发现显示的页面被撑开,导致网页极度不美观。以前大
- oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oracle wm_concat(column)
- js 中判断某个元素是否存在于某个 js 数组中,相当于 php 语言中的 in_array 函数。Array.prototype.S=St
- js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();ar
- 问:如何自己制作验证码的head.fix和body.fix文件答:1 图象绘制完成后,将文件存为24位位图格式的BMP图象文件。 2 去除前
- 目录四种参数仅限关键字参数内省中的函数参数函数注解四种参数Python函数func定义如下:def func(first, *args, s
- 谷歌驱动下载地址:http://chromedriver.storage.googleapis.com/index.html一、seleni
- 前言随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还
- 具体的upgrade脚本如下:动态删除索引DROP PROCEDURE IF EXISTS UPGRADE;DELIMITER $$CREA
- 本文实例讲述了python随机生成指定长度密码的方法。分享给大家供大家参考。具体如下:下面的python代码通过对各种字符进行随机组合生成一
- 可以从官网加载预训练好的模型:import torchvision.models as modelsmodel = models.vgg16
- selenium+python,使用webdriver的截图函数get_screenshot_as_file()截图,代码如下:from s
- 阅读系列教程上一篇:FrontPage2002简明教程二:文字与图像的处理通常网页的布局使用到的是FrontPage 2002中的表格和框架
- Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的
- # -*- coding: utf-8 -*-"""Created on Sat Jun 20 19:36:3
- asp之家注:本文介绍的长文章分页方法不错,作者分析的很详细,用分页符来手动为长文章分页,应该是最好的长文章分页方法,我们不必担心会把一些代