Почему я получаю ошибку 500 при использовании запросов Python, но не использую cURL

Я пытаюсь работать над базовой реализацией Synchroteam API, используя запросы Python. Мне удалось установить соединение, используя cURL в качестве доказательства концепции и получить все данные, которые я хотел, но с помощью запросов я могу попасть на сайт со своими учетными данными, но все, что я получаю, это:

500
text/html; charset=utf-8
https://apis.synchroteam.com/Api/v1/user/list

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<h2>
An error occurred while processing your request.
</h2>
</body>
</html>

Process finished with exit code 0

При использовании curl с этой строкой все возвращает правильную информацию:

curl -u domain:APIKEY -H "Accept: application/json" -H "Content-Type: application/json" https://apis.synchroteam.com/Api/v1/user/List

Мой маленький кусочек кода на Python:

import requestsapiurl = 'https://apis.synchroteam.com/Api/v1/user/list'
login = ("domain", "APIKEY")
headers = {'Content-Type': 'application/json'}

def run():
r = requests.get(apiurl, auth=login, headers=headers)

print r.status_code
print r.headers['Content-type']
print r.url
print r.text

run()

Вся документация Synchroteam имеет примеры на PHP, но я не вижу причин, по которым я не смог бы использовать Python.
Документы здесь: http://api.synchroteam.com/rest.php

Любое понимание было бы здорово, я действительно надеюсь, что это просто что-то маленькое, что мне не хватает.
Спасибо.

0

Решение

Это код Python, который я генерирую, используя Postman. Я уверен, что это поможет вам!

import requests

url = "https://apis.synchroteam.com/Api/v1/User/list"
payload = "{\n    \"status\":\"1\"\n}"headers = {
'content-type': "application/json",
'accept': "application/json",
'authorization': "Basic ZGVtbzoxMjEyOThucDIwMDM=",
'cache-control': "no-cache",
'postman-token': "1a3839b6-db5b-0c07-be1a-2816f491476c"}

response = requests.request("GET", url, data=payload, headers=headers)

print(response.text)

Просто измените Auth!
Ник

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]