Azure Logic App添加HTTP组件遇System.Uri转换错误求助
Azure Logic App HTTP请求URL认证错误解决办法
错误原因
你的URL里存在两个@符号:用户名username@company.com本身包含@,直接拼接成https://username@company.com:password@webservices.somesystem.com/...后,.NET的Uri解析器会错误地把username@company.com:password识别为完整的用户名部分,导致无法正确解析Uri格式。
解决办法
办法1:手动编码用户名中的特殊字符
将用户名里的@替换为URL编码值%40,修改后的URL为:
https://username%40company.com:password@webservices.somesystem.com/auth/authentication/generateSecureAPIToken
这种方式能让Uri解析器正确区分用户名、密码和域名。
办法2:使用内置基础认证(推荐,更安全)
避免在URL里嵌入用户名密码,改用Logic App HTTP组件的内置认证功能:
- 打开HTTP组件的Authentication设置页
- 认证类型选择Basic Authentication
- 分别填入用户名
username@company.com和密码,Logic App会自动处理认证逻辑,无需手动编码特殊字符
补充说明
浏览器能正常运行是因为其URL解析逻辑更宽松,自动兼容了用户名中的@符号;但Azure Logic App依赖的.NET Uri类遵循严格的RFC标准,必须对特殊字符进行编码或使用标准认证方式。
内容的提问来源于stack exchange,提问作者Leonard
相关产品推荐
相关产品推荐

