Android - Retrofit2 - java.security.cert.CertPathValidatorException:未找到证书路径的信任锚

2024-02-05

我想从服务器获取数据(https://data.egov.kz/api/v2/zheke_zhane_zandy_tulgalardy_k1/v6?pretty https://data.egov.kz/api/v2/zheke_zhane_zandy_tulgalardy_k1/v6?pretty) 作为 json 对象的数组。但我得到这个日志:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。我正在使用 Retrofit2,这里是我的代码:

MainActivity.java

public class MainActivity extends AppCompatActivity
    implements GetAdmissionSchedule.GetAdmissionScheduleInterface {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        GetAdmissionSchedule getAdmissionSchedule = new GetAdmissionSchedule(this);
        getAdmissionSchedule.getAdmissionScheduleList();
    }

    @Override
    public void getAdmissionSchedule(List<AdmissionSchedule> admissionScheduleList) {
        // here i get my data
    }

}

获取招生时间表.java

public class GetAdmissionSchedule {

    private GetAdmissionScheduleInterface getAdmissionScheduleInterface;

    public GetAdmissionSchedule(GetAdmissionScheduleInterface getAdmissionScheduleInterface) {
        this.getAdmissionScheduleInterface = getAdmissionScheduleInterface;
    }

    public interface GetAdmissionScheduleInterface {
        void getAdmissionSchedule(List<AdmissionSchedule> admissionScheduleList);
    }

    public void getAdmissionScheduleList() {
        DataEgovApi service = DataEgovBaseURL.getRetrofit();
        Call<List<AdmissionSchedule>> call = service.getAdmissionScheduleList();
        call.enqueue(new Callback<List<AdmissionSchedule>>() {
            @Override
            public void onResponse(Call<List<AdmissionSchedule>> call, Response<List<AdmissionSchedule>> response) {
                Log.d("MyLogs", "MVD: getAdmissionScheduleList " + response.code());
                getAdmissionScheduleInterface.getAdmissionSchedule(response.body());
            }

            @Override
            public void onFailure(Call<List<AdmissionSchedule>> call, Throwable t) {
                Log.d("MyLogs", "MVD: getAdmissionScheduleList " + t.getLocalizedMessage());
                getAdmissionScheduleInterface.getAdmissionSchedule(null);
            }
        });
    }

}

DataEgovBaseURL.java

public class DataEgovBaseURL {

    private static final String BASE_URL = "https://data.egov.kz/";
    private static Retrofit retrofit = null;

    public static DataEgovApi  getRetrofit() {
        if (retrofit == null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();

        }
        return retrofit.create(DataEgovApi.class);
    }

}

DataEgovApi.java

public interface DataEgovApi {

    @GET("api/v2/zheke_zhane_zandy_tulgalardy_k1/v6?pretty")
    Call<List<AdmissionSchedule>> getAdmissionScheduleList();

}

AdmissionSchedule.java(我的 POJO 类)

public class AdmissionSchedule {

    @SerializedName("id")
    @Expose
    private String id;
    @SerializedName("vremia")
    @Expose
    private String vremia;
    @SerializedName("adres_ru")
    @Expose
    private String adresRu;
    @SerializedName("doljnost_ru")
    @Expose
    private String doljnostRu;
    @SerializedName("name_ru")
    @Expose
    private String nameRu;
    @SerializedName("data")
    @Expose
    private String data;
    @SerializedName("adres_kz")
    @Expose
    private String adresKz;
    @SerializedName("doljnost_kz")
    @Expose
    private String doljnostKz;
    @SerializedName("name_kz")
    @Expose
    private String nameKz;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getVremia() {
        return vremia;
    }

    public void setVremia(String vremia) {
        this.vremia = vremia;
    }

    public String getAdresRu() {
        return adresRu;
    }

    public void setAdresRu(String adresRu) {
        this.adresRu = adresRu;
    }

    public String getDoljnostRu() {
        return doljnostRu;
    }

    public void setDoljnostRu(String doljnostRu) {
        this.doljnostRu = doljnostRu;
    }

    public String getNameRu() {
        return nameRu;
    }

    public void setNameRu(String nameRu) {
        this.nameRu = nameRu;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getAdresKz() {
        return adresKz;
    }

    public void setAdresKz(String adresKz) {
        this.adresKz = adresKz;
    }

    public String getDoljnostKz() {
        return doljnostKz;
    }

    public void setDoljnostKz(String doljnostKz) {
        this.doljnostKz = doljnostKz;
    }

    public String getNameKz() {
        return nameKz;
    }

    public void setNameKz(String nameKz) {
        this.nameKz = nameKz;
    }

}

您的服务器网址是https并且证书已经无效。

Change https to http它会起作用的。

否则,您可以在服务器上安装有效的 SSL 证书。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - Retrofit2 - java.security.cert.CertPathValidatorException:未找到证书路径的信任锚 的相关文章

  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 为什么 appcmd.exe 解锁配置在 Azure 模拟器上不起作用?

    我最近升级到 Azure 2 1 SDK 现在我的部分功能遇到了问题web config在计算模拟器上运行时处于 Web 角色中 我的web config包含这个
  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A

随机推荐

  • 如何在web.xml和log4j.properties中配置log4j输出文件路径?

    我开发了一个网络应用程序 可以在其中注册员工 My web xml
  • 从 Jackson 获取未知字段列表

    我有一个 JSON 架构和一个与该架构匹配的 json 字符串 但它可能有一些额外的字段 如果我不添加这些字段 杰克逊将抛出异常objectMapper configure DeserializationConfig Feature FAI
  • PDO 数据库访问 WHERE title = $title

    我正在尝试学习使用 PDO 而不是 MySQLi 进行数据库访问 但在从数据库中选择数据时遇到问题 我想使用 STH DBH gt query SELECT FROM ratings WHERE title title ORDER BY d
  • ios 5 上的 NSDateFormatter - 还有其他使用方法吗?

    我有一段代码在 iOS 4 3 5 之前一直有效 现在在 iOS 5 中不起作用 Example of date I m using Mon 31 Oct 2011 15 57 55 BRST NSDateFormatter formatt
  • 当数据集更改时,在闪亮的应用程序中动态显示列名称会闪烁错误

    我有一个闪亮的应用程序 我希望允许用户根据一组上传的文件选择数据集 然后指定要从所选数据集中显示的列 如果我选择某些列然后切换数据集 则会闪烁错误并输出到控制台 指出在应用程序切换数据集并正确显示之前所选列未知 然而 在我的完整应用程序中
  • Font Awesome 带有 easyAutocomplete 插件

    我有一个表单 我想在其中显示输入文本字段并在同一行上提交 输入文本字段有两个 FontAwesome 图标 我想在文本字段内显示它们 当我不使用简单的自动完成插件时 我可以根据需要设置表单样式 但是当我激活轻松自动完成 http easya
  • 如何从 Firebase 中推送的数据中获取价值?

    在我的 firebase 中 我存储了问题及其答案 每个答案都有一个 id 它是从 push 获得的 但我无法显示已回答问题的所有用户的列表 请帮忙 这是代码 ListView listView ArrayList
  • 如何组合两个 LPCWSTR?

    我有两个变量LPCWSTRs 我想创建一个新变量 该变量将具有第一个和第二个变量的值 我尝试过这个 但没有成功 LPCWSTR d L sd LPCWSTR f L f LPCWSTR df d f 当我尝试这样做时 我收到此错误 1 In
  • myisam 表上的外键替代方案?

    我正在开发一个需要使用外键的网站 但是我已经搜索遍了 共享主机不支持innoDB 我正在使用 MyISAM 引擎 有没有使用外键的替代方法 我需要的 table image image id PK table ratings rating
  • 使用 KNN 分类器进行数字识别之前的预处理

    现在我正在尝试使用 OpenCV 创建数字识别系统 WEB上有很多文章和例子 甚至在堆栈溢出 https stackoverflow com questions 9413216 simple digit recognition ocr in
  • 无法安装 Subversive SVN Team Provider

    当我尝试从 Eclipse Marketplace 或其项目站点 安装 Subversive SVN Team Provider 时 出现以下错误 The following solutions are not available Subv
  • WordPress 按标签查询相关帖子

    我正在尝试查询与 WordPress 中当前查看的帖子具有相同标签的帖子列表 我认为如果我可以查询当前帖子的标签列表 将其传递到一个变量中 然后将该变量传递到 query posts 参数中 它就可以完成工作 它似乎适用于帖子中的标签之一
  • CSS 填充简写声明中的反斜杠

    Qq com 网站有一个规则集 其中有两个填充声明 这看起来有点奇怪 我的问题是 11px 0部分做什么 这与覆盖第一个填充声明有关吗 我理解斜线在以下情况下的使用 css 样式声明中的 正斜杠 https stackoverflow co
  • 在 pandas to_csv 方法中保留列顺序

    pandas 的 to csv 方法不保留列的顺序 它选择按字母顺序排列 CSV 中的列 这是一个错误 已被报告并应该在版本 0 11 0 中得到纠正 我有0 18 0 import pandas as pd df pd DataFrame
  • 屏幕更新效果

    我一直在测量代码执行时间 以衡量本地执行脚本和在服务器上执行脚本之间的差异 有一次我忘记禁用screen updating庆幸的是 在更详细地考虑之前 我对闪光灯不敏感 当我第一次开始使用时VBA我一直认为它只是被使用 这样就不会吓到最终用
  • bash:jstat:找不到命令

    我想使用 gc 实用程序来分析我的 Cassandra 数据库的垃圾收集 但是当我运行 jstat 命令时 输出显示 bash jstat command not found 我搜索并发现 jstat 位于 JAVA HOME bin 但我
  • 为什么我无法向 Hotmail 发送电子邮件?

    这是我的代码 boundary sha1 whatever headers MIME Version 1 0 r n headers From Domainname email protected cdn cgi l email prote
  • 如何在通过回调添加和删除节点时固定 Dash Cytoscape 中节点的位置?

    我想使用以下示例数据源制作一个带有交互式网络图的 Web 应用程序 data Source Node a a b b c Destination Node b c c d d Link likes likes likes likes dis
  • 谷歌地图API获取国家和城市

    我可以使用 ajax 自动完成功能来从 google 地图 api 获取国家 地区吗 当有人输入 United 在 google 地图 api 上搜索该国家 地区并显示类似的结果时 你能给我举个例子 或者链接到谷歌地图API的解决方案吗 看
  • Android - Retrofit2 - java.security.cert.CertPathValidatorException:未找到证书路径的信任锚

    我想从服务器获取数据 https data egov kz api v2 zheke zhane zandy tulgalardy k1 v6 pretty https data egov kz api v2 zheke zhane zan