Javascript 虽然端口转发正在工作,但应用程序无法向本地主机发出请求
我正在试着调试我的Android应用程序,它是用cordova通过USB构建的 我的设备显示在adb和Javascript 虽然端口转发正在工作,但应用程序无法向本地主机发出请求,javascript,android,cordova,google-chrome-devtools,adb,Javascript,Android,Cordova,Google Chrome Devtools,Adb,我正在试着调试我的Android应用程序,它是用cordova通过USB构建的 我的设备显示在adb和chrome://inspect我已将设备端口转发到localhost:9000。 我已经确认端口转发正在工作,因为我可以从设备上的Chrome访问localhost:9000 但是,当应用程序尝试向localhost:9000发出请求时,我收到一个404(未找到)错误。 我可以复制应用程序尝试访问的同一地址,并在设备上的Chrome中正确打开,也可以通过我的开发机器上Chrome devtoo
chrome://inspect
我已将设备端口转发到localhost:9000
。
我已经确认端口转发正在工作,因为我可以从设备上的Chrome访问localhost:9000
但是,当应用程序尝试向localhost:9000
发出请求时,我收到一个404(未找到)错误。
我可以复制应用程序尝试访问的同一地址,并在设备上的Chrome中正确打开,也可以通过我的开发机器上Chrome devtools中的webview inspector的地址栏
为什么我的应用程序无法连接到本地主机,而Chrome可以
编辑:
我能找到的最接近的类似问题是
然而,添加CSP的解决方案并没有解决我的问题
有些事情我试过了却没有用:
- 添加了一个CSP
- 更新了白名单插件
- 添加了
和 - 更新了CLI版本
- 使用IP而不是
localhost连接
我可能忘了什么,我已经断断续续地做了一段时间了。欢迎提出任何建议。谢谢 尝试使用config.xml中的
打开白名单配置上的连接我通过更改试图与客户端连接的本地服务器的绑定来解决此问题
我的服务器正在使用.NET和IIS Express进行开发,因此我修改了
<binding protocol="http" bindingInformation="*:9000:localhost" />
到
根据。这允许我使用127.0.0.1:9000
或我的机器的IP连接到服务器,而不仅仅是localhost:9000
。
然后,我在
chrome://inspect
toMYLOCALIP:9000
而不是localhost:9000
,并将应用程序配置为向127.0.0.1:9000
而不是localhost:9000
发出请求。感谢您的建议,不幸的是,这无助于解决我的问题。我的白名单配置如下:
<binding protocol="http" bindingInformation=":9000:" />