python 需要通过阿里云网关验证,一直调不通

范JX范 2020-08-07 10:15:14
def getAladdinRequest(data_type, request_data = [], logfile = False):
result = {'msg':'OK', 'data':''}
curr = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
conf = getAladdinConf()
clt = AcsClient(conf['AppKey'],conf['AppSecret'],conf['region_id'])
if data_type in conf:
#url = conf['baseURL'] + conf[data_type]['url']
url = 'http://0bbbae2b380a49238d3b7317d2cd7e86-cn-hangzhou.alicloudapi.com/index.php/rest/V2/product/price' #test url
headers = conf['reqheader']
#host = conf['hzHost']
print('---> Access to ' + url)
# print('---> Headers: ' + json.dumps(headers))
if conf[data_type]['method'] == 'POST':
payload = json.dumps({"sku":request_data})
req_post = requests.post(url = url, headers = headers,data=payload)

r = clt.do_action_with_exception(req_post) #感觉是这里有问题,大师能否帮忙看看。
line = r.text
else:
r = requests.get(url, headers = headers)
line = r.text
if logfile:
logfile.write('>>- ' + curr + '\n')
logfile.write(' >>> ' + str(request_data) + '\n')
logfile.write('... ' + line + '\n')
else:
logfile.write('>>- ' + curr + '\n')
logfile.write('>>>Error, unknown data type: ' + data_type + '\n')
LEN_TH = 41943040 # 40M
if len(line) > LEN_TH:
result['msg'] = 'SIZE_TOO_BIG'
else:
result['data'] = line
return result

error information:
r = clt.do_action_with_exception(req_post)
File "D:\apps\py36\lib\site-packages\aliyunsdkcore\client.py", line 472, in do_action_with_exception
acs_request.set_accept_format('JSON')
AttributeError: 'Response' object has no attribute 'set_accept_format'
...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
StephenChen123 2020-08-20
  • 打赏
  • 举报
回复
首先,do_action_with_exception()括号里面应该是request而不是response。
范JX范 2020-08-07
  • 打赏
  • 举报
回复
通过js代码能调通。如下:
const Client = require('aliyun-api-gateway').Client;
let client = new Client(APP_KEY, APP_SECRET);
  let result = await client.post(url, {
    headers,
    data,
  })

async function _getHeaders(secretToken) {
  let headers = {
    "Authorization": `Bearer ${secretToken}`,
    "Content-Type": "application/json",
    "Auth-Code": "hz",
    "User-Agent": 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
  }
  return headers;
}

python应该怎么写呢?请大侠帮忙。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧