Amazon mws HTTPS连接池使用url超出最大尝试次数

时间:2015-06-09 10:55:56

标签: python amazon-mws

我使用this api访问amazon mws。我想获取附加到特定订单ID的产品代码。
我创建了一个包含100个订单ID的列表,并在for循环中尝试获取产品代码。但是它的中途给了我一个错误:

我的代码:

from mws import mws
auth = mws.Orders(access_key=access_key,secret_key=secret_key,account_id=account_id, region='IN')
oid = []     ###  a list of 100 or so order ids. 
for id in oid:
    item_detail = auth.list_order_items(id)
    item_text = item_detail.original
    file = open('order_details.xml','a')
    file.write(item_text)
    file.close()

错误是:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='mws.amazonservices.in', port=443): Max retries exceeded with url: /Orders/2013-09-01?AWSAccessKeyId=DWAKIAJDWHSXML4XJT7NVLAQ&Action=ListOrderItems&AmazonOrderId=403-4521860-8323545&SellerId=A3AZIDWDQXFUT4SLU02M7&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-06-09T10%3A20%3A45Z&Version=2013-09-01&Signature=IInO1WBi2srQP5q8lTDgTMq%2BvKGrMqCxUqj56/bUYQQ%3D (Caused by <class 'socket.error'>: [Errno 111] Connection refused)

访问密钥&amp;卖家ID已更改为错误

1 个答案:

答案 0 :(得分:0)

抛出的错误是Max retries exceeded。所以可能你超出了你可以做的请求量。它可以帮助您在代码中构建一个睡眠定时器(10/100 ms左右,只是试验它)。另一个选择是将您的oid分成不同的列表,并在不同的时刻尝试。