【问题标题】:ngrok tunnel not returning the control to the callerngrok隧道没有将控制权返回给调用者
【发布时间】:2022-08-22 23:50:04
【问题描述】:

我不确定帖子的标题是否真正描述了我的问题,但这里是正在发生的事情,更详细。我有一个 ASP.Net MVC 应用程序,它重定向到托管在外部系统中的页面。此外部托管页面用于输入信用卡详细信息以处理付款。处理完付款后,托管的付款页面会在向 HPP 进行转移时向我提供的 webhook URL 发送 HTTP POST。我的 ASP.Net MVC 应用程序中有一个 Web API 控制器,它将用于接收 webhook 调用。现在,为了在本地运行所有内容时对其进行测试,我必须使用 ngrok 在 HPP 和我的本地 Web API 端点之间创建一条私有隧道。

我的 Web API 控制器中有一个断点,我正在获取 HPP 发送的数据,这些数据包含有关已批准付款的详细信息。控制器以我在 ngrok 控制台中看到的 HTTP 200 响应:

由于某些原因,此 HTTP 200 没有传播回 HPP,HPP 应该显示一个后退按钮以将控制权交还给我的 Web 应用程序,我们都是从这里开始的。相反,浏览器会被定向到一个 URL,该 URL 是 webhook 的确切 URL,在传输到 HPP 时提供的 URL:

知道为什么会这样吗? ngrok 是否没有将 HTTP 200 返回给调用方,即托管支付页面?

任何建议将不胜感激。

TIA, 埃迪

    标签: asp.net-mvc asp.net-web-api webhooks ngrok


    【解决方案1】:

    事实证明这不是 ngrok 的问题。正如我错误地假设的那样,远程托管支付页面 (HPP) 没有向 RESTful 端点发送 HTTP POST。 Insted 它返回到指定的 URL 并将响应作为隐藏字段发送。

    因此,如果有人遇到过同样的情况,请确保您完全了解远程服务器的行为。这可以将响应作为 HTTP POST 发送到指定的 URL,或者可以通过导航将控制权返回给您的应用程序,其中响应作为隐藏字段发送(HTTP POST 内容类型为“application/x-www-form -urlencoded”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多