Power Automate Desktop发送x-www-form-urlencoded请求报错求助
在Power Automate Desktop中正确处理x-www-form-urlencoded请求体的解决方案
首先纠正你之前的核心错误:x-www-form-urlencoded格式的请求体,键值对的分隔符是等号(=),不是冒号。你之前写的token:Token&client_secret:secret格式完全错误,这大概率是报错的主要原因。
以下是正确的配置步骤和排查要点:
必设请求头
必须在请求头里添加Content-Type,值为application/x-www-form-urlencoded。很多时候Power Automate Desktop(以下简称PAD)不会自动添加这个头,或者默认头格式不对,这是触发invalid request的常见原因。同时要完全复刻Postman里的所有请求头,比如自定义的Authorization、Accept等,一个都不能漏。正确构造请求体
请求体必须严格遵循key1=value1&key2=value2的格式,你的例子应该写成:token=Token&client_secret=secret如果值里包含特殊字符(比如&、=、空格、中文),必须做URL编码:
- 手动编码:空格替换为
%20,中文转成UTF-8十六进制(比如“测试”→%E6%B5%8B%E8%AF%95) - 自动编码:用PAD的「URL编码文本」动作处理特殊值,避免手动出错
- 手动编码:空格替换为
PAD请求动作的正确配置
- 拖入「发送HTTP请求」动作
- 匹配Postman的请求方法(比如POST)和目标URL
- 在「请求头」区域添加
Content-Type: application/x-www-form-urlencoded - 「请求体」选择「文本」类型,把构造好的
key=value&...字符串粘贴进去——不要选「表单数据」,因为PAD的「表单数据」默认是multipart/form-data格式,和目标格式不符 - 检查代理、SSL验证设置,和Postman保持一致(比如Postman关闭了SSL验证,PAD也要在动作设置里关闭「验证SSL证书」)
排查差异的小技巧
- 用PAD的「写入日志」动作输出最终的请求头和请求体,和Postman的原始请求对比(Postman里点「代码」按钮,选HTTP格式查看原始请求内容),找出入
- 如果还是报错,直接用PAD的「发送原始HTTP请求」动作,复制Postman里的原始请求内容发送,验证是否能成功,以此排除构造过程的问题
内容的提问来源于stack exchange,提问作者Luke_KS
相关产品推荐
相关产品推荐

