Android WebView:使用模拟器时无法通过 VPN 访问站点

Android WebView: cannot access site through VPN when using emulator

我正在 Eclipse 模拟器中测试一个通过 WebView 加载站点的应用程序。我的问题是只有当我连接到我工作的 VPN 时才能访问该站点,我可以从我的 PC 浏览器访问它,但不能从模拟器访问它。这是我的代码:

public class MainActivity extends Activity {

public WebView myWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.activity_main); 
    myWebView = (WebView)this.findViewById(R.id.webView);
    myWebView.getSettings().setLoadsImagesAutomatically(true);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.setWebViewClient(new CustomWebViewClient());
    myWebView.loadUrl("https://xxx");
}
}

当我使用“http://google.com”进行测试时它工作正常,当我使用随机 https 站点时也是如此,但是当我尝试访问 VPN 站点时出现 "net::ERR_CONNECTION_TIMED_OUT" 错误。
我已经连接到 VPN,并且还检查了 <uses-permission android:name="android.permission.INTERNET" /> 是否在清单中的 <application> 标记之前。我已经使用 Eclipse 模拟器和 BlueStacks App Player 进行了测试,在这两种情况下 运行 应用程序并在模拟器的浏览器中输入 URL,并且总是得到相同的结果。
是否存在Android 的模拟器对此类访问有任何限制吗?
在此先感谢,问候。

更新
如果我从模拟器的浏览器访问 IP 地址,我可以访问该站点,但是当我尝试使用 myWebView.loadUrl 加载它时出现相同的错误

最后我想出了如何加载我的网站,我把 IP 地址和端口放在 "hosts" 文件中,而不是你可以看到的 URL。另外,我不得不覆盖我的 CustomWebViewClient 的 onReceivedSslError 方法,因为我在加载我的页面时遇到了认证错误:

    @Override
    public void onReceivedSslError(WebView view, android.webkit.SslErrorHandler handler, android.net.http.SslError error) {
        handler.proceed();
    };


现在 loadUrl 看起来像这样:

myWebView.loadUrl("https://IP:PORT/XXX");

希望对其他人有所帮助。