我在下面使用Python脚本连接到受登录保护的API。
import requests
url = 'https://api.json'
header = {'Content-Type': 'application/x-www-form-urlencoded'}
login = ('kjji@snm.com', 'xxxxx')
mnem = 'inputRequests':'{'inputRequests':'[{'function':'GDSP','identifier':'ibm','mnemonic':'IQ_TOTAL_REV'}]}}
r = requests.post(url, auth=login, data=mnem, headers=header)
print(r.json())
建立连接但由于数据请求的格式,我从API收到错误。原始格式如下所示。我无法找到一种方法在上面的mnem中输入:
inputRequests={inputRequests:
[
{function:"xxx",identifier:"xxx",mnemonic:"xxx"},
]
}
给出的错误是
C:\Users\xxx\Desktop>pie.py
File "C:\Users\xxx\Desktop\pie.py", line 6
mnem={'inputRequests':'{'inputRequests':'[{'function':'xxx','identifier':'xx','mnemonic':'xxx'}]}}
^
SyntaxError: invalid syntax
我不确定如何从这里开始。我在请求文档中找不到任何指向如何在数据字段中插入多个变量的内容。
答案 0 :(得分:0)
Python中的requests
模块接收protogen Python dict
作为post请求中的JSON数据,但不是字符串。因此,您可以尝试像这样定义mnem
:
mnem = {
'inputRequests':[
{'function':'GDSP',
'identifier':'ibm',
'mnemonic':'IQ_TOTAL_REV'
}
]}
答案 1 :(得分:0)
data
参数应该是字典。
因此要通过三个参数尝试使用:
mnem = {'function':'GDSP','identifier':'ibm','mnemonic':'IQ_TOTAL_REV'}