Django POST curl REST API

Я хочу вызвать RESTful API с помощью django, который использует POST. Я знаю, как сделать GET, но как мне сделать POST?

Для получения я использую requests.get(...)

вызов API:

curl -v -X POST -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -X POST \
     --user user:password \
     https://this.is.an.external.domain \
     -d "{\"name\": \"Marcus0.1\",\"start\": 500000,\"end\": 1361640526000}"

обновить

Итак, я нашел request.post, но как перевести приведенную выше команду curl


person Marcus    schedule 06.08.2013    source источник
comment
Похоже, что на ваш вопрос был дан ответ (в вопросе) здесь: stackoverflow. ком/вопросы/9958039/   -  person George Stocker    schedule 06.08.2013
comment
Это не имеет ничего общего с джанго. Это основной вопрос о requests.   -  person vad    schedule 06.08.2013


Ответы (1)


Эта команда curl, переведенная в вызов запросов Python, будет выглядеть так:

# construct a python dictionary to serialize to JSON later
item = { "name": "Marcus0.1", "start": 500000, "end": 1361640526000 }

resp = requests.post("https://this.is.an.external.domain", 
              data=json.dumps(item),  # serialize the dictionary from above into json
              headers={
                       "Content-Type":"application/json",
                       "Accept": "application/json"
                      })

print resp.status_code
print resp.content
person John Sheehan    schedule 06.08.2013
comment
Я думаю, что вам не хватает аутентификации. знак равно - person Lukasa; 07.08.2013