【发布时间】:2015-09-02 21:46:23
【问题描述】:
我正在尝试使用 Retrofit 来调用这个 api:https://api.wheretheiss.at/v1/satellites/25544
这是建立连接的代码:
retrieveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASEURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ISSApi api = retrofit.create(ISSApi.class);
Call<ISS> ISS = api.getLocation();
ISS.enqueue(new Callback<ISS>() {
@Override
public void onResponse(Response<ISS> response) {
System.out.println("booya");
}
@Override
public void onFailure(Throwable t) {
System.out.println("failure");
System.out.println(t.getMessage().toString());
t.printStackTrace();
}
});
所以它似乎至少能够在 onFailure 回调被触发时找到 API,但我得到了这个错误:
javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。
一些注意事项: 我之前使用过 OkHTTP 和启用了 SSL 的 API,而且我从来不需要处理证书。另外,我注意到,如果我访问 Nexus 5 上的 API 端点,我会得到:http://i.imgur.com/he8821o.png。也许这与问题有关?
任何帮助表示赞赏。使用改造 2.0.0。
【问题讨论】: