首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON授权失败。我的错误是'Bad MAC‘

JSON授权失败。我的错误是'Bad MAC‘
EN

Stack Overflow用户
提问于 2021-02-13 02:18:48
回答 1查看 334关注 0票数 0

我想访问JD Sport应用程序中某个产品的JSON页面。为此,我使用了Charles应用程序,它允许我获得以下url和访问此页面所需的所有标头:

https://prod.jdgroupmesh.cloud/stores/jdsportsfr/products/15958093_jdsportsfr

当我想要通过我的下一个python脚本访问JSON页面时,页面返回这个错误:

代码语言:javascript
复制
{'error': {'message': 'API key is not valid. Request authorization failed. Bad MAC'}}

我不明白我需要做些什么才能获得JSON页面上的信息。

提前谢谢你

代码语言:javascript
复制
import requests
import json


headers = {
    'Host': 'prod.jdgroupmesh.cloud',
    'X-NewRelic-ID': 'VQYDUFVWDRABVFVRBwMOV10=',
    'Accept': '*/*',
    'Connection': 'keep-alive',
    'X-API-Key': 'B3B51B56ADC34016A6FEF7F8C337B836',
    'mesh-version': 'cart=4',
    'MESH-Commerce-Channel': 'iphone-app',
    'User-Agent': 'jdsportsfr/6.8.5.2214 (iphone-app; iOS 14.4)',
    'Accept-Language': 'fr-fr', 
    'Accept-Encoding' : 'gzip, deflate, br',
    'X-Request-Auth': 'Hawk id="f2188a5b06", mac="V/227yl11UzqV0Wr3Mb0A8SeOVeN94vY1QEXLEucBXc=", ts="1613150841", nonce="8ZZJMN"',
    'mesh-version': 'cart=4'
}


params = (
    ('expand', 'variations,informationBlocks,customisations'),
    ('channel', 'iphone-app'),
)

stock_json_raw = requests.get('https://prod.jdgroupmesh.cloud/stores/jdsportsfr/products/15958093_jdsportsfr/imageSpinSet',headers=headers, params=params).text.strip()#, headers=headers, params=params).text.strip()
stock_json = json.loads(stock_json_raw)
print(stock_json)
EN

回答 1

Stack Overflow用户

发布于 2021-03-01 09:53:16

你必须使用mohawk,一种通过服务器进行身份验证的方法。你需要得到它的网格键。然后,您将能够使用它生成整个x-request-auth标头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66177043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档