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实现过滤单个Android程序日志脚本分享
Jan 16 Python
pymongo给mongodb创建索引的简单实现方法
May 06 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
使用Python封装excel操作指南
Jan 29 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
python opencv旋转图片的使用方法
Jun 04 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
js实现图片拖动改变顺序附图
2014/05/13 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python类的动态修改的实例方法
2017/03/24 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
NumPy排序的实现
2020/01/21 Python
Python3 集合set入门基础
2020/02/10 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python自带的IDE在哪里
2020/07/01 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
婚礼证婚人演讲稿
2014/09/13 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
六查六看剖析材料
2014/10/06 职场文书
教师年终个人总结
2015/02/11 职场文书
团组织推荐意见
2015/06/05 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
Python list列表删除元素的4种方法
2021/11/01 Python
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS