@AlexMine
Учусь

Почему при отправке get запроса получаю 403 ответ, а из браузера с расширением postman получаю 200?

Добрый день, не могу ни как отправить get запрос и получить json ответ.
r = requests.get('https://api.asos.com/product/catalogue/v2/products/12181064?store=ROW&lang=en-GB&currency=HKD')
print(r.status_code)

Если я возьму этот урл и вставлю в postman расширение, то json приходит. Пытался использовать headers, но тогда скрипт работает бесконечно. Если headers пустой, то 403 ошибку отдает.
  • Вопрос задан
  • 1259 просмотров
Решения вопроса 2
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Что означает "скрипт работает вечно" из-за headers? Если так, то у вас проблема в логике кода, а не в headers, смотрите где и почему он зацикливается. По теме: с headers отлично принимаются данные с этого API:
>>> requests.get('https://api.asos.com/product/catalogue/v2/products/12181064?store=ROW&lang=en-GB&currency=HKD', headers=headers).status_code
200
>>>
Ответ написан
igorzakhar
@igorzakhar
>>> import requests
>>> headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ke Gecko) Chrome/61.0.3163.100 Safari/537.36'}
>>> res = requests.get('https://api.asos.com/product/catalogue/v2/products/12181064?store=ROlang=en-GB&currency=HKD', headers=headers)
>>> res.status_code
200
>>> res.json()
{'id': 12181064, 'name': 'ASOS DESIGN ruched mini dress with puff sleeves in check print', 'description': '<
...
...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы