我想调用GitHub API来返回基于任意搜索参数的存储库列表,如下所示:https://api.github.com/search/repositories?q=custom_search_param
所以custom_search_param是在运行时声明的。
我创建了这个界面:
Retrofit retrofit = new Retrofit.Builder().baseUrl(GitHubClient.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
GitHubClient gitHubClient = retrofit.create(GitHubClient.class);
Call<GitHubRepo> call = gitHubClient.getReposForSearchParam("tetris");
call.enqueue(new Callback<GitHubRepo>() {
@Override
public void onResponse(Call<GitHubRepo> call, Response<GitHubRepo> response) {
Log.d("resp",response.toString());
Log.d("respBody",response.body().toString());
}
@Override
public void onFailure(Call<GitHubRepo> call, Throwable t) {
Log.e("wentWrong", t.getMessage());
}
});
我在MainActivity onCreate中将其称为:
onFailure
我总是收到async delay(ms: number) {
await new Promise(resolve => setTimeout(()=>resolve(), ms)).then(()=>console.log("fired"));
}
回复此消息:
E / goWrong:javax.net.ssl.SSLProtocolException:SSL握手 aborted:ssl = 0xb8679dd0:SSL库失败,通常是协议 错误 错误:1407742E:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1 alert 协议版本(外部/ openssl / ssl / s23_clnt.c:741 0x9db10901:0x00000000)
有没有人知道这里出了什么问题,是否应该以不同方式声明GitHubClient接口anottations?
答案 0 :(得分:1)
因为GitHub api has disabled TLSv1.1至少需要支持TLSv1.1的设备或客户端。所以使用Android 4.4下面的Android设备它将无法正常工作。请参阅here。