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 os模块介绍
Nov 30 Python
Python解析xml中dom元素的方法
Mar 12 Python
给Python初学者的一些编程技巧
Apr 03 Python
python制作websocket服务器实例分享
Nov 20 Python
python与C互相调用的方法详解
Jul 14 Python
python sort、sort_index方法代码实例
Mar 28 Python
详解Python:面向对象编程
Apr 10 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
使用python实现回文数的四种方法小结
Nov 24 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
python使用bs4爬取boss直聘静态页面
Oct 10 Python
python用700行代码实现http客户端
Jan 14 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命令行使用方法和命令行参数说明
2014/04/08 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
JS基础之undefined与null的区别分析
2011/08/08 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python协程的用法和例子详解
2017/09/09 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
企业面试题试卷附带答案
2015/12/20 面试题
会计岗位职责范本
2014/03/07 职场文书
优质服务演讲稿
2014/05/14 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
英文慰问信
2015/02/14 职场文书
论语读书笔记
2015/06/26 职场文书
初三英语教学反思
2016/02/15 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python