gpt4 book ai didi

javascript - 尽管端口转发正常,但应用程序无法向本地主机发出请求

转载 作者:行者123 更新时间:2023-11-30 00:04:26 24 4
gpt4 key购买 nike

我正在尝试通过 USB 调试使用 cordova 构建的 Android 应用。

我的设备出现在 adb 和 chrome://inspect 中我已经端口转发设备连接到 localhost:9000 .我已确认端口转发正常,因为我可以访问 localhost:9000从设备上的 Chrome。

然而,当应用程序尝试 tp 向 localhost:9000 发出请求时,我收到 404(未找到)错误。我可以复制应用程序尝试访问的相同地址,它可以在设备上的 Chrome 中正确打开,也可以通过我的开发机器上的 Chrome devtools 中的 webview 检查器的地址栏打开。

为什么我的应用无法连接到本地主机,而 Chrome 可以?

编辑:我能找到的最接近的类似问题是 Android device communicate with local API server但是建议的解决方案(添加 CSP)并没有解决我的问题。

一些我尝试过但无济于事的事情:

  • 添加了 CSP
  • 更新了白名单插件
  • 已添加 <allow-intent href="*" /><allow-navigation href="*" />
  • 更新了 CLI 版本
  • 使用 IP 连接而不是 localhost

我可能忘记了什么,我已经断断续续地研究了一段时间了。欢迎提出任何建议。谢谢!

最佳答案

我设法通过更改我尝试与客户端连接的本地服务器的绑定(bind)来解决此问题。

我的服务器使用 .NET 和 IIS Express 进行开发,所以我修改了 applicationhost.config 文件

<binding protocol="http" bindingInformation="*:9000:localhost" />

<binding protocol="http" bindingInformation=":9000:" />

根据 Binding IIS Express to an IP Address .这允许我使用 127.0.0.1:9000 或我机器的 IP 连接到服务器,而不仅仅是 localhost:9000。然后我将 chrome://inspect 中的端口转发修改为 MYLOCALIP:9000 而不是 localhost:9000 并将应用程序配置为发出请求127.0.0.1:9000 而不是 localhost:9000

关于javascript - 尽管端口转发正常,但应用程序无法向本地主机发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49261355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com