我的程序应该去一个网站,根据id(4e3f2c6659f25a0f8400000b),它会得到一个json字符串。出于某种原因,此程序不会通过client.execute行并抛出IOException。此功能适用于需要从网站提取信息的其他程序。如果你转到https://iphone-radar.com/accounts/4e3f2c6659f25a0f8400000b,你可以看到我要复制的行类型。这是我的代码,我希望你能帮助我找出为什么会发生这种情况。谢谢。
public String getText(String uri) {
HttpClient client1 = new DefaultHttpClient();
HttpGet request = new HttpGet("https://iphone-radar.com/accounts/4e3f2c6659f25a0f8400000b");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
String response_str = client1.execute(request, responseHandler);
return response_str;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
答案 0 :(得分:0)
您肯定应该提供堆栈跟踪以确保,但很可能您的手机不信任发出iphone-radar.com的SSL证书的CA:CN = GeoTrust Global CA,O = GeoTrust Inc.,C = US。 (它不在Gingerbread的信托商店)
搜索SO以查找如何将此证书添加到您的信任存储区,有关于此的多篇帖子。
答案 1 :(得分:0)
看起来这个例外是关于不受信任的证书。当您尝试访问具有过期证书或自签名证书的HTTPS时,会发生这种情况。在浏览器上,弹出窗口将显示询问我们是否信任。在应用程序的过程中,我们需要添加一些代码来忽略不受信任的SSL证书,或者更新JVM证书以便它识别证书。