Java 使用loopj时出错:“0”;找不到证书路径的信任锚点。”`

Java 使用loopj时出错:“0”;找不到证书路径的信任锚点。”`,java,android,ssl,Java,Android,Ssl,目前我正在做一个项目,在这个项目上,我需要通过Android上的基本身份验证从web服务器获取/放置数据 我遵循了的指示,但我遇到了 “原因:java.security.cert.CertificateException:java.security.cert.CertPathValidator异常:找不到证书路径的信任锚。”` 上述网站上的方法是利用现在不推荐使用的HttpClient。我知道有HttpURLConnection,但我找不到适合我的教程。回答如下: 谢谢你的回复。如果我用自己的u

目前我正在做一个项目,在这个项目上,我需要通过Android上的基本身份验证从web服务器获取/放置数据

我遵循了的指示,但我遇到了

“原因:java.security.cert.CertificateException:java.security.cert.CertPathValidator异常:找不到证书路径的信任锚。”`

上述网站上的方法是利用现在不推荐使用的
HttpClient
。我知道有
HttpURLConnection
,但我找不到适合我的教程。

回答如下:


谢谢你的回复。如果我用自己的url替换url,这个解决方案也有问题中提到的问题。“找不到证书路径的信任锚点”。如何解决这个问题。对于“String encoding=Base64Encoder.encode(“test1:test1”);”,我可以使用“String encoding=Base64.encodeToString(“test1:test1.getBytes(),0”);”来代替它吗?Android的一个问题是,库可能会很快过时。您正在使用的特定库(loopj)已超过2年未更新,因此您可能会遇到更多问题。由于您刚刚起步,因此最好尝试使用更为先进的库,如Volley或Reformation,而不是将时间花在
loopj
上。然后,如果自签名SSL证书等出现问题,将更容易获得支持。@DavidDrawson谢谢,我将尝试截击
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class HttpBasicAuth {

    public static void main(String[] args) {

        try {
            URL url = new URL ("http://ip:port/login");
            String encoding = Base64Encoder.encode ("test1:test1");

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setDoOutput(true);
            connection.setRequestProperty  ("Authorization", "Basic " + encoding);
            InputStream content = (InputStream)connection.getInputStream();
            BufferedReader in   = 
                new BufferedReader (new InputStreamReader (content));
            String line;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
        } catch(Exception e) {
            e.printStackTrace();
        }

    }

}