在invoke-webrequst中$body编码无法识别中文


PowerShell交流中心在invoke-webrequst中$body编码无法识别中文
0
softzcw 管理员 asked 3月 ago

钉钉接口文档里面说明需要把字符集设置成utf-8  下面是钉钉的文档说明和我的代码

获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。注意,发起POST请求时,必须将字符集编码设置成UTF-8

但是收到的消息都是乱码,怎样才能把字符集设置成utf-8呢,请大大帮忙。

$par='{“msgtype”: “text”, “text”: {“content”: “提取日志成功”}}’
$ding_url=”https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxx”
$h=@{“Content-Type”=”application/json”;”charset”=”UTF-8″}
Invoke-WebRequest -UseBasicParsing $ding_url -Method Post -Body $par -Headers $h

×用微信扫描并分享
jamecook 管理员 replied 2月 ago

可以通过 [array]$JSON =[System.Text.Encoding]::UTF8.GetBytes($JSON)转换成UTF-8.
例子:
[array]$JSON =[System.Text.Encoding]::UTF8.GetBytes($JSON)
curl -uri $uri -Method POST -Body $JSON -ContentType “application/json”}

softzcw 管理员 replied 2月 ago

非常感谢,问题解决了。