You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Bot返回URL至手机时&转义为&的问题解决求助

解决AWS Bot返回URL时&被转义为&的问题

这个问题我帮不少开发者处理过,本质是你的Bot在返回响应时默认触发了HTML转义逻辑,把URL里的&字符转成了HTML实体&,导致手机收到的纯文本URL被篡改。下面给你针对AWS Bot服务的具体解决办法:

1. 检查Amazon Lex的响应配置(如果用的是Lex)

如果你的Bot基于Amazon Lex开发,核心要确保返回纯文本格式的响应:

  • 如果你用Lambda集成Lex,返回的响应JSON里,一定要把contentType设为PlainText,而不是SSML或RichText。示例返回结构如下:
{
  "sessionState": {
    "dialogAction": {
      "type": "Close"
    }
  },
  "messages": [
    {
      "contentType": "PlainText",
      "content": "https://dothework.com/index.action?langId=EN&app=SOLUN#ctn"
    }
  ]
}

这样Lex就不会对URL里的特殊字符做HTML转义,直接把原始URL以纯文本发送。

2. 调整Amazon Connect的消息发送模式(如果用Connect集成Bot)

如果是在Amazon Connect里使用Bot,要注意:

  • 在Connect的流配置中,发送消息时选择「纯文本」模式,不要启用HTML渲染选项。
  • 若通过Lambda传递URL,确保Lambda内部没有对URL做额外转义,直接输出原始字符串即可。

3. 其他AWS Bot服务的通用原则

不管你用的是Chime Bot还是其他AWS Bot相关服务,核心逻辑都是:

  • 调用发送消息的API时,指定消息类型为纯文本(TEXT),而非HTML类型。比如调用PostMessage类接口时,设置Content-Type为text/plain。

快速排查技巧

可以先在Lambda(如果用了的话)里打印输出的URL内容,确认Lambda返回的是原始的&而非&,这样就能快速排除Lambda内部的转义问题,把问题定位到Bot服务的响应渲染环节。

总的来说,只要确保Bot服务以纯文本格式处理并发送你的URL,不让它触发HTML转义逻辑,这个&被篡改的问题就能解决。

内容的提问来源于stack exchange,提问作者Pra-red

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:56:21