2016-05-30 114 views
0

我是REST API的新成員,無法運行http請求。現在在python中將curl命令轉換爲http請求

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

但是,從我的Django的網站我想提出一個要求,我」:

如果我嘗試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 

和結果米無法使其工作,我使用它的代碼:

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"}' 

我在做什麼錯了?我看不出我的錯誤在哪裏。

感謝和問候。

回答

2

你正在做的一切是正確的,除了POST方法只是這樣做:

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

的方法URL接收到的是POST方法無法獲得。

+0

Omg ..........謝謝。我花了3個小時處理這個問題!非常感謝。 – Aker666

+0

很高興幫助! –