Я пытаюсь использовать API Bitbucket для своей учетной записи, и успешная попытка выглядит следующим образом:
curl --user screename:mypassword
https://api.bitbucket.org/1.0/user/repositories
в командной строке. В питоне я стараюсь:
import requests
url = 'https://api.bitbucket.org/1.0/user/repositories'
затем
r = requests.post(url, data={'username': myscreename, 'password':mypassword})
а также
r = requests.post(url, data="myscreename:mypassword")
а также
r = requests.post(url, data={"user": "myscreename:mypassword"})
все получают ошибку 405. API является https://confluence.atlassian.com/bitbucket/rest-apis-222724129.html.
Я думаю:
-
Что я делаю не так в версии запросов, все они похожи на мою попытку скручивания
-
В чем разница между запросом с помощью модуля curl и python questions? Какой общий шаблон я могу узнать, читая API с примером curl, а затем записывая его на python?
Спасибо
ОТВЕТ:
это потребовало правильных заголовков
https://answers.atlassian.com/info/18451025/answers/18451117?flashId=-982194107
ОБНОВИТЬ:
# ===============
# get user
# ===============
import requests
import json
# [BITBUCKET-BASE-URL], i.e.: https://bitbucket.org/
url = '[BITBUCKET-BASE-URL]/api/1.0/user/'
headers = {'Content-Type': 'application/json'}
# get user
# [USERNAME], i.e.: myuser
# [PASSWORD], i.e.: itspassword
r = requests.get(url, auth=('[USERNAME]', '[PASSWORD]'), headers=headers)
print(r.status_code)
print(r.text)
#print(r.content)