在python中将curl命令转换为http请求
问题描述:
我是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"}'
我在做什么错了?我看不出我的错误在哪里。
感谢和问候。
答
你正在做的一切是正确的,除了POST方法只是这样做:
r = requests.post('http://openam.sp.com:8095/openamSP/json/authenticate', headers=headers, params=data)
的方法URL接收到的是POST方法无法获得。
Omg ..........谢谢。我花了3个小时处理这个问题!非常感谢。 – Aker666
很高兴帮助! –