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有证书的加密解密实现方法
Nov 19 Python
python中reduce()函数的使用方法示例
Sep 29 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
Jul 31 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
flask 实现token机制的示例代码
Nov 07 Python
Python拼接字符串的7种方式详解
Mar 19 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
基于Python实现天天酷跑功能
Jan 06 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
我对PyTorch dataloader里的shuffle=True的理解
May 20 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
php实现httpclient类示例
2014/04/08 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
js 省地市级联选择
2010/02/07 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python编写一个闹钟功能
2017/07/11 Python
使用python3构建文件传输的方法
2019/02/13 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
个人职业生涯规划书1500字
2013/12/31 职场文书
幼儿教师考核制度
2014/01/25 职场文书
向领导表决心的话
2014/03/11 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
李强感恩观后感
2015/06/17 职场文书
Python实现归一化算法详情
2022/03/18 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server