如何在发布请求中使用特殊字符(重音)


我是新来的。

我通过这篇文章找到了这个论坛,基本上OP和我一样有同样的问题,但答案不适合我。

我想要的是发送一个帖子请求,通过API发送whatsapp消息,但是如果我试图在字母上使用重音,则发送的消息完全被破坏了(见这里的例子)带有问号的奇怪菱形应该是一个"性格。

所以,我的问题是:我怎样才能使">;通过whatsapp发送?我是不是把编码弄乱了?

下面是我要做的代码:

def send_message():
headers = {
'Content-Type': 'application/json;charset=utf-8',
'x-maytapi-key': API_TOKEN,
}
url = INSTANCE_URL + "/" + PRODUCT_ID + "/" + PHONE_ID + "/sendMessage"
data = '{ "message": "Essa mensagem xe9 um teste, por favor desconsidere", "to_number": "+55XXXXXXXXXXX", "type": "text" }'
response = requests.post(url, headers=headers, data=data)

上面的代码发送了消息,但它到达时是在图片上看到的(奇怪的菱形)

现在这是我在看到开始提到的论坛帖子后所尝试的:

def send_message():
headers = {
'Content-Type': 'application/json',
'x-maytapi-key': API_TOKEN,
}
url = INSTANCE_URL + "/" + PRODUCT_ID + "/" + PHONE_ID + "/sendMessage"
data = '{ "message": "Essa mensagem xe9 um teste, por favor desconsidere", "to_number": "+55XXXXXXXXX", "type": "text" }'.encode('latin-1')
response = requests.post(url, headers=headers, data=data)
print(response.text)

结果是一样的。

您可以尝试使用json=参数而不是data=当您做您的请求。此外,首先尝试删除Content-Type头:

def send_message():
headers = {
# "Content-Type": "application/json;charset=utf-8",
"x-maytapi-key": API_TOKEN,
}
url = INSTANCE_URL + "/" + PRODUCT_ID + "/" + PHONE_ID + "/sendMessage"
data = {
"message": "Essa mensagem é um teste, por favor desconsidere",
"to_number": "+55XXXXXXXXXXX",
"type": "text",
}
response = requests.post(url, headers=headers, json=data)

最新更新