关于访问某服务器提示“访问被拒绝,无效系统参数appkey”

根据错误信息,错误码60011,提示“访问被拒绝,无效系统参数appkey”
 这意味着请求中缺少必要的参数appkey,或者appkey无效。
 通常,这类API接口需要身份验证,而appkey是其中一个验证参数。
 观察代码,我们只传递了json数据,但没有在请求中添加appkey。


 那么appkey应该以什么形式传递呢?常见的有两种:

 1. 作为请求参数(query string)附加在URL后面。
 2. 作为请求头(headers)的一部分。


 根据错误信息中的URL:'https://服务器域名或ip/路径?参数1'
 这里已经有一个查询参数(参数1),但并没有appkey。
 因此,我们需要查看该API的文档,确定如何传递appkey。但如果没有文档,我们可以尝试以下方法:

 方法1:将appkey作为查询参数附加在URL中,例如:
     url = 'https://服务器域名或ip/路径?参数1&appkey=你的appkey'
 方法2:将appkey放在请求头中,例如:
     headers = {'appkey': '你的appkey值'}
     然后在请求中加上headers: requests.post(url, json=data, headers=headers)
 方法3:有些接口可能要求将appkey放在请求体中(即json数据里),但根据错误信息“无效系统参数appkey”,它可能是一个系统参数,通常放在URL或header中。


 由于错误提示是“系统参数”,所以更可能是作为查询参数或请求头传递。
 但是,我们不知道具体的appkey值。appkey一般是申请API时由服务方提供。
 因此,我们需要获取有效的appkey。如果没有,需要联系服务方申请。
 假设我们已经有了一个appkey,比如:'1234567890abcdef'
 我们可以尝试修改代码:

 方案一:作为查询参数
     url =  'https://服务器域名或ip/路径?参数1&appkey='1234567890abcdef''
 方案二:作为请求头
     headers = {'appkey': '1234567890abcdef'}
     res = requests.post(url=url, json=data, headers=headers)


 但注意,错误信息中提到的参数名为“appkey”,所以使用其他名称可能不行。
 由于原始URL中已经有一个查询参数,我们使用方案一时要注意连接参数的方式(使用?开始,后面的参数用&连接)。
 所以我们添加appkey应该用&连接。
 但是,如果原始URL中只有一个参数,那么第一个参数应该用?,后续用&。
所以这里我们已经在问号后面了,所以直接加&appkey=...
 然而,我们也可以尝试将appkey作为请求体的一部分?但错误提示是系统参数,所以通常不会放在请求体里。
  另外,还要注意,有些接口除了appkey,可能还需要其他参数,比如时间戳、签名等。但错误信息只提到了appkey,所以先尝试加上appkey。
 如果仍然不行,可能需要进一步阅读接口文档,确认认证方式。
 由于我们不知道appkey,这里只能提供解决思路。如果你有appkey,请替换下面的代码中的appkey值。
 下面提供两种修改方式的代码:
根据错误信息 '访问被拒绝,无效系统参数appkey',表明请求缺少必要的身份验证参数 appkey。这类接口通常需要签名验证或密钥参数。以下是解决方案:
解决方案步骤
获取有效 appkey
联系快递API提供商(如跨越速运),申请合法的 appkey 和配套密钥(如 appsecret)。
添加签名验证
快递API通常需要以下参数(具体请查阅官方文档):
appkey:用户身份标识
sign:对请求参数的加密签名
timestamp:当前时间戳
其他必填参数(如 method 等)

在通过F12抓取网络参数信息后,按照顺序补充需要的参数即可

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值