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实现对字符串的加密解密方法示例
Apr 29 Python
Python绘制七段数码管实例代码
Dec 20 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python numpy数组转置与轴变换
Nov 15 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
Python headers请求头如何实现快速添加
Nov 03 Python
python基础详解之if循环语句
Apr 24 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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判断变量的函数
2012/04/24 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
vue 组件内获取actions的response方式
2019/11/08 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python三级菜单的实例
2017/09/13 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python-openCV开运算实例
2020/07/05 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
奥巴马竞选演讲稿
2014/05/15 职场文书
施工安全承诺书
2014/05/22 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
见习报告怎么写
2014/10/31 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android