Java httpget在“执行”之后不工作

Java httpget在“执行”之后不工作,java,android,json,http-get,Java,Android,Json,Http Get,我的程序应该去一个网站,根据id4e3f2c6659f25a0f8400000b,它将得到一个json字符串。由于某些原因,此程序不会通过client.execute行并抛出IOException。此功能适用于需要从网站提取信息的其他程序。如果您转到,您可以看到我要复制的行的类型。这是我的代码,我希望你能帮我找出发生这种情况的原因。多谢各位 public String getText(String uri) { HttpClient client1 = new DefaultHt

我的程序应该去一个网站,根据id4e3f2c6659f25a0f8400000b,它将得到一个json字符串。由于某些原因,此程序不会通过client.execute行并抛出IOException。此功能适用于需要从网站提取信息的其他程序。如果您转到,您可以看到我要复制的行的类型。这是我的代码,我希望你能帮我找出发生这种情况的原因。多谢各位

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 "";

        }
    }

当然,您应该提供stacktrace,但很可能您的手机不信任颁发iphone radar.com SSL证书的CA:CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US。它不在姜饼信托商店


搜索以便找到如何将此证书添加到您的信任存储中,有多篇关于此的帖子。

似乎此异常与不受信任的证书有关。当您试图使用过期证书或自签名证书访问HTTPS时,会发生这种情况。在浏览器上,弹出窗口将显示询问我们是否信任。在应用程序的过程中,我们需要添加一些代码来忽略不受信任的SSL证书,或者更新JVM证书,以便它能够识别证书


参考资料:

e.printStackTrace打印什么?大多数情况下,异常的消息是错误的指示。responseHandler被导入import org.apache.http.client.responseHandler;e的值为javax.net.ssl.SSLException:不受信任的服务器证书。ThanksI尝试禁用证书验证,但它仍然给我相同的错误。作为一个旁注,当我输入网站时,我没有收到弹出窗口。真的,伙计们,停止告诉人们禁用SSL验证。这是一个非常糟糕的主意:如果你不能确定你在和谁说话,那么使用加密是没有意义的。但是他也可以相应地更新证书,以便SSL被识别。对于development server,我想可以禁用SSL验证,你怎么说?也许这只是我的防病毒错误,但是你发布的链接下的站点有病毒。引用的URL似乎没有指向有效的站点。我如何检查需要添加的证书。感谢使用浏览器打开网站,并单击状态栏IE和Chrome上的挂锁图标。查找颁发CA Geo Trust Global CA。您可以从GeoTrust的资源页面下载并验证指纹匹配: