Windows应用程序可以';无法从某些网络访问服务,但浏览器可以

Windows应用程序可以';无法从某些网络访问服务,但浏览器可以,windows,cordova,networking,Windows,Cordova,Networking,我有一个用Cordova构建的Windows应用程序,它无法从某些网络访问其web服务 我不认为这是CORS的问题。该应用程序可以工作,尤其是在公共网络上,但当用户通过直接连接或VPN切换到内部网络时,该应用程序无法连接。我所说的内部是指托管Web服务的组织内部 如果调试应用程序,错误为: SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd

我有一个用Cordova构建的Windows应用程序,它无法从某些网络访问其web服务

我不认为这是CORS的问题。该应用程序可以工作,尤其是在公共网络上,但当用户通过直接连接或VPN切换到内部网络时,该应用程序无法连接。我所说的内部是指托管Web服务的组织内部

如果调试应用程序,错误为:

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd. 
  • 如果我要求用户打开指向服务URL的浏览器,它总是 工作
  • 未通过HTTPS调用该服务,因此没有 SSL证书存在问题
  • 该应用程序同时在Windows 8和Windows 10平板电脑上运行
我很确定存在某种网络层问题,但我不知道该找什么

我看到了一个相关问题的以下答案:

…我建议您使用 使用Microsoft Network Monitor或Wireshark等工具了解 IP地址是正在进行的连接。0x2efd错误 与WinINet错误相关:错误\u INTERNET\u无法\u连接 无法建立与远程服务器的连接。什么时候 收集网络跟踪,尝试查找TCP-SYN信号,然后 查看远程服务器是否响应SYN-ACK

我的问题是我离这个问题很遥远,尽管我很想,但我不能从加拿大跳到夏威夷


我正在寻找有关如何解决此问题的任何建议…

移动应用程序的网络问题最终是由用于构建应用程序的应用程序设置造成的

本文介绍了这些设置

应用程序中的设置最初设置为“internetClient”。我们需要添加
“privateNetworkClientServer”。我特别说了添加,因为将其设置为privateNetworkClientServer改变了问题。因此,应用程序清单的这一部分现在看起来如下所示

<Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="privateNetworkClientServer" />
    <DeviceCapability Name="webcam" />
</Capabilities>


我们对[app\cordova\platforms\windows]文件夹中的所有[*.appxmanifest]文件进行了更改。

我还想指出以下缺陷:,这可能会影响许多试图通过config.xml实现此修复的人。您还可以安装一个插件来解决此问题: