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