如何从Python发送“字符串数组”作为HTTP post数据?

2024-10-02 06:38:12 发布

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

我正在使用Python与接收http post消息的web服务进行接口。对于一项特定服务,文档内容如下:

Parameters:

Name               Type           Value
meteringPointIds   String array   List of metering point ids

HTTP verb: POST

我只有一个计量点id,因此我使用以下结构:

postData = {'meteringPointIds': meteringPointId}
r = requests.post( url + path, headers=headers, json=postData)

变量meteringPointId包含一个具有计量点id的字符串

#20013: No meteringpoints in request conforms to valid meteringpoint format.

假设计量点id为1234。我试过了

postData = {'meteringPointIds': 1234}
postData = {'meteringPointIds': [1234]}
postData = {'meteringPointIds': ['1234']}
postData = {'meteringPointIds': '[1234]'}
postData = {'meteringPointIds': ["1234"]}
postData = {'meteringPointIds': "[1234]"}

但无论我做什么,我总是得到上面的错误。我错过了什么

Web服务文档:

Customer and Third party API for Datahub Eloverblik Technical description

API - Data Description


Tags: name文档apiwebidhttp消息内容
2条回答

请尝试使用逗号分隔值的字符串。我认为一个值不需要逗号

postData = {'meteringPointIds': "1234"}

试试这个JSON:

postData = {
    "meteringPoints": {
        "meteringPoint": [
            "1234"
        ]
    }
}

或者,也许

postData = {
    "meteringPointIds": {
        "meteringPoints": {
            "meteringPoint": [
                "1234"
            ]
        }
    }
}

相关问题 更多 >

    热门问题