我有这个非常烦人的问题,当我第一次启动我的应用程序时,我的自签名证书被接受了。当我关闭应用程序并再次启动时,不再接受证书。我做错了什么?
这是一个调试版本,所以我不知道为什么它只会在第二次启动时失败。
编辑1:
这是一个通过https请求资源的Cordova应用程序。我刚刚发现了这篇文章http://mail-archives.apache.org/mod_mbox/cordova-dev/201401.mbox/%3C0AC46520-9B83-4934-8E4B-BCEAC44F2DFE@devgeeks.org%3E,但它并没有真正说明如何解决这个问题。
我得到的HTTP错误代码是状态0,这意味着证书无效/不被接受。
编辑2:
我最近发现这是Android 4.4的一个问题。在4.4中可能有什么不同的想法导致这个问题?
答案 0 :(得分:0)
You can solve it by setting
System.setProperty(" http.keepAlive"," false");
在我进行HTTP调用之前。 Android在其连接池中保持关闭连接并尝试重用它们似乎存在问题。 status属性必须返回运行这些步骤的结果:
1.> If the state is UNSENT or OPENED, return 0.
2.> If the error flag is set, return 0.
3.> Return the HTTP status code.
我们可以深入研究规范并找出返回0的条件是什么意思。 来自http://www.w3.org/TR/XMLHttpRequest/#states: http://developer.android.com/guide/faq/troubleshooting.html 来自docuemntation http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute表示请求在去往任何地方之前被取消。