Неверный формат вашей временной метки. Возьмите созданный вами URL, поместите его в свой браузер и посмотрите полученное вами XML-сообщение. Попробуйте создать свою метку времени так:
import time
dt = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
После того, как я исправил это, я получил HTTPError: HTTP Error 403: Forbidden
. Попытка URL в браузере говорит мне (среди прочего, что я отредактировал):
... <Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message></Error> ...
Я обнаружил, что по состоянию на 17 августа 2009 года Amazon требует, чтобы все запросы к их API рекламы продуктов были подписаны.
Следующая ссылка предоставляет очень хорошую методологию для создания необходимого URL, проверьте его: http://www.princesspolymath.com/princess_polymath/?p=182