Microsoft Bot Framework - 使用 ngrok 在本地构建和调试客户端

Posted

技术标签:

【中文标题】Microsoft Bot Framework - 使用 ngrok 在本地构建和调试客户端【英文标题】:Microsoft Bot Framework - Building and debugging a client locally using ngrok 【发布时间】:2017-12-16 04:36:02 【问题描述】:

我使用 Microsoft Bot Framework 构建了一个简单的机器人。我现在想构建一个嵌入到我的移动应用程序中的客户端。当使用 Direct Line API 向我的机器人发送消息时,我收到一个 500 错误,这不会通过其他渠道发生。

为了调试它,我尝试在 localhost 上运行机器人并使用 ngrok 公开端口,以便可以通过 Direct Line API 访问它。该机器人在本地运行良好,并且在向 localhost 发出请求时可以正常处理请求。但是,当在暴露端口时对 ngrok 创建的临时 url 发出相同的请求时,我会收到 400 Bad Request 错误。

有没有人遇到过这个问题或对如何解决它有一些建议?

【问题讨论】:

【参考方案1】:

我现在已经解决了这个问题。显然,当主机标头与预期不符时,机器人不喜欢它。为了解决这个问题,我使用以下 ngrok 命令公开了端口:

ngrok http [port] -host-header="localhost:[port]"

其中 [port] 是机器人运行的端口。

【讨论】:

嗨@Ian,欢迎来到***。似乎您已经找到了问题的答案。如果这是正确答案,请随意将其标记为已回答,以便其他人轻松找到此解决方案。鼓励在 SO ***.com/help/self-answer

以上是关于Microsoft Bot Framework - 使用 ngrok 在本地构建和调试客户端的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Microsoft Bot Framework 将文件附加到消息?

Microsoft Bot Framework - 如何将数据从 Azure 数据库获取到我的 Bot 项目?

IIS 托管的 Azure Bot 通道注册 Microsoft Bot Framework sdk 聊天机器人不起作用

Heroku Hosting Microsoft Bot Framework Chatbot 不工作

Bot Framework:如何退出对话?

使用 Bot Framework 通过 NodeJS 发布到 Microsoft Teams 频道