Запросы Python
Можно ли использовать API, например, использовать метод POST для получения товаров. Обратите внимание, что мы передаем ключ безопасности в теле или данных. это возможно?
def api(request):
url = 'https://datausa.io/api/data?product'
x = requests.post(url,data={'securityKey':'valueKey')
contenu=x.text
return HttpResponse(contenu)
Конечно!
Большинство людей используют библиотеку requests, потому что она удаляет много шаблонов, и это действительно хорошо построенная и поддерживаемая библиотека: https://requests.readthedocs.io/en/latest/
Это так же просто, как и сделать это :
r = requests.get('https://datausa.io/api/data?product')
r.status_code
200
r.headers = {'security-key': 'valuekey'}
Вы также можете использовать Django Rest Framework с механизмом аутентификации, чтобы использовать токен для потребления вашего api: https://www.django-rest-framework.org/api-guide/authentication/
У меня ошибка HTTP 415 Вот код
def api(request):
url = 'http://api-content/product/GetProduct'
x = requests.post(url, headers = {'security-key': 'valu-key'})
content=x.status_code
return HttpResponse(content)
Идея состоит в том, чтобы использовать метод POST, передав ему ключ безопасности в заголовках, чтобы просто получить данные о продукте. У меня ошибка http 400 вот код
def api(request):
headers={'content-type':'application/json','security-key':'value-key'}
url = 'http://api-content/product/GetProduct'
x = requests.post(url, headers = headers)
content=x.status_code
return HttpResponse(content)