我在使用Python的请求包时使用了以下代码:
APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send HTTP/1.1'
myobj = {
'groupId': "xxx",
'message':'Hello',
"fromUserName":'yyy'
}
headers = {
'Api-Key':APIKEY,
}
response = requests.post(url, data = myobj,headers=headers)给了我以下错误:
'{"status":"error","errorResponse":[{"errorCode":"AL-MA-01","description":"method not allowed","displayMessage":"Request method \\u0027POST\\u0027 not supported"}],"generatedAt":1591385905404}'我做错了什么?
发布于 2020-06-08 07:45:30
代码很少有问题。
HTTP/1.1不是requests包中的URL.a.使用json方法中提供的requests.post参数向服务器发送JSON数据,如下代码所示:
import requests
APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send'
myobj = {
'groupId': "xxx",
'message': 'Hello',
"fromUserName": 'yyy'
}
headers = {'Api-Key': APIKEY}
response = requests.post(url, json=myobj, headers=headers)b.在标头中添加"Content-Type": "application/json",然后首先将json数据转储到字符串中,然后将其发送到服务器。
import requests
import json
APIKEY = "XXX"
url = 'https://services.kommunicate.io/rest/ws/message/v2/send'
myobj = {
'groupId': "xxx",
'message': 'Hello',
"fromUserName": 'yyy'
}
headers = {
'Api-Key': APIKEY,
"Content-Type": "application/json"
}
myobj = json.dumps(myobj)
response = requests.post(url, data=myobj, headers=headers)另外,请检查Difference between data and json parameters in python requests package
https://stackoverflow.com/questions/62223124
复制相似问题