2016-05-30 20 views
0

私はREST APIを新しくしており、httpリクエストを実行できません。pythonでcurlコマンドをhttpリクエストに変換する

私はcurlコマンドをしようとした場合、それは、端末で動作します。

curl \ 
--request POST \ 
--header "X-OpenAM-Username: user" \ 
--header "X-OpenAM-Password: password" \ 
--header "Content-Type: application/json" \ 
--data "{}" \ 
http://openam.sp.com:8095/openamSP/json/authenticate 

と結果:

{"tokenId":"AQIC5wM2LY4Sfczw67Mo6Mkzq-srfED3YO8GCSe0Be6wtPs.*AAJTSQACMDEAAlNLABM2NzQ5NjQ4Mjc0MDY0MzEwMDEyAAJTMQAA*","successUrl":"/openamSP/console"} 

しかし今では、Djangoの私のウェブから、私は要求を作りたいと、私は」それを動作させることができないメートル、私はそれはです使用コード:私は答えをチェックすると

import requests 
headers = {'X-OpenAM-Username':'user', 'X-OpenAM-Password':'password', 'Content-Type':'application/json'} 
data = {} 
r = requests.get('http://openam.sp.com:8095/openamSP/json/authenticate', headers=headers, params=data) 

と:

u'{"code":405,"reason":"Method Not Allowed","message":"Method Not Allowed"}' 

私は間違っていますか?私のミスはどこにあるのか分かりません。

ありがとうございます。あなたは、POSTメソッドを除いて正しいすべてを、やっている

答えて

2

はちょうどこの操作を行います。

r = requests.post('http://openam.sp.com:8095/openamSP/json/authenticate', headers=headers, params=data) 

方法のURLを受け取るには、POSTメソッドがGETではありません。

+0

Omg ..........ありがとう。私はこの問題で3時間を過ごす!どうもありがとう。 – Aker666

+0

喜んで助ける! –

関連する問題