京东 API sign生成,python

来源:互联网 发布:权限系统数据库设计 编辑:程序博客网 时间:2024/05/17 10:53
class JD_API:    request_params = {}    def InitParams(self,method,buy_param_json):        self.request_params['timestamp'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))        self.request_params['360buy_param_json'] = json.dumps(buy_param_json, ensure_ascii=False)        self.request_params['app_key'] = APP_KEY        self.request_params['method'] = method    #生成签名和请求的url    def GetSign(self):        keys = self.request_params.keys()        keys.sort()        md5_str = APP_SECRET        url_str = 'https://api.jd.com/routerjson?v=2.0'        for key in keys:            #print key            md5_str += key            md5_str += self.request_params[key]            url_str+= ('&'+key+'='+self.request_params[key])        md5_str += APP_SECRET        sign_hash = hashlib.md5()        sign_hash.update(md5_str)        sign = sign_hash.hexdigest()        self.request_params['sign'] = sign.upper()        url_str += '&sign=' + sign.upper()        return url_str    #发送请求    def SendRequestUrl(self):        request_url = self.GetSign()        #print request_url        response = requestSession.get(request_url)        print response.contenttest_API = JD_API()print '获取商品基本信息: jingdong.new.ware.baseproduct.get 'buy_param_json = {}buy_param_json['ids'] = 3296317buy_param_json['basefields'] = "state,imagePath"test_API.InitParams('jingdong.new.ware.baseproduct.get',buy_param_json)test_API.SendRequestUrl()

0 0
原创粉丝点击