python实现京东订单推送到测试环境,提供便利操作示例


Posted in Python onAugust 09, 2019

本文实例讲述了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相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
python学习基础之循环import及import过程
Apr 22 Python
python设置值及NaN值处理方法
Jul 03 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
python 字符串常用函数详解
Sep 11 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
关于keras中keras.layers.merge的用法说明
May 23 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
Python中三种花式打印的示例详解
Mar 19 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 #Python
python操作excel让工作自动化
Aug 09 #Python
python笔记_将循环内容在一行输出的方法
Aug 08 #Python
python中的列表与元组的使用
Aug 08 #Python
详解python中的数据类型和控制流
Aug 08 #Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 #Python
Python2和3字符编码的区别知识点整理
Aug 08 #Python
You might like
php实现批量修改文件名称的方法
2016/07/23 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
php strftime函数的详细用法
2018/06/21 PHP
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
javascript trie前缀树的示例
2018/01/29 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
Python双向循环链表实现方法分析
2018/07/30 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
主题实践活动总结
2014/05/08 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
国庆节慰问信
2015/02/15 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
Python基础之元编程知识总结
2021/05/23 Python
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
golang生成并解析JSON
2022/04/14 Golang