2

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

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

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

4

1 回答 1

2

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

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

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

于 2017-07-12T01:04:42.897 回答