2015-06-09 2 views
0

Я использую this api для доступа к amazon mws. Я хочу получить код продукта, прикрепленный к определенному идентификатору заказа.
Я создаю список из 100 идентификаторов заказа и в цикле for попытаюсь получить коды продуктов. Но на полпути через это дает мне ошибку:Amazon mws HTTPS Connection Pool Максимальное количество попыток превышено с помощью url

Мой код:

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) 

Ключ доступа & Id Продавец изменился в ошибке

ответ

0

Ошибка выброшен есть Max retries exceeded. Так что, вероятно, вы превысили количество запросов, которые вы можете сделать. Это может помочь построить таймер сна в коде (10/100 мс или около того, просто экспериментируйте с ним). Другой вариант - отделить ваш oid от разных списков и попробовать его в разные моменты.

+0

Есть ли другой способ? Потому что я пробовал с таймером сна через 20 секунд после каждого запроса, и мои запросы все еще дросселируются. Если я увеличу его больше, то у меня будут проблемы с производительностью для гораздо большего списка. –

+0

Не то, чтобы я мог сейчас думать. Это происходит по одному и тому же идентификатору каждый раз? – Mathias711

+0

Нет. Это происходит на разных идентификаторах. Также я пытался увеличить время сна до 120 секунд (я прочитал в руководстве разработчика mws, что для пополнения квоты запроса требуется 2 минуты), но нет решения. Все еще дросселируется –

Смежные вопросы