请求.post用Python

2024-06-07 05:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我用下面的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中输入:

^{pr2}$

给出的错误是

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

我不确定如何从这里开始。我在请求文档中找不到任何关于如何在数据字段中插入多个变量的内容。在


Tags: apijsonurl错误loginfunctionrequestsusers
2条回答

data参数应该是字典。在

因此,要传递这三个参数,请尝试使用:

mnem = {'function':'GDSP','identifier':'ibm','mnemonic':'IQ_TOTAL_REV'}

Python中的requests模块在post请求中接收原始Python dict作为JSON数据,但不是字符串。因此,您可以尝试如下定义mnem

mnem = {
    'inputRequests':[
        {'function':'GDSP',
         'identifier':'ibm',
         'mnemonic':'IQ_TOTAL_REV'
        }
   ]}

相关问题 更多 >