android - 如果 Parse 推送已初始化,则 HTTPS 请求的 SSLPeerUnverifiedException

标签 android ssl parse-platform android-volley

在通过 Parse.com 添加推送功能后,我立即开始收到以下 Volley 错误:

com.android.volley.NoConnectionError: javax.net.ssl.SSLPeerUnverifiedException: Cannot verify hostname: xxxxx.yy

xxxxx.yy 是我使用 HTTPS 与之通信的主机。建立连接的方式很常见。例如。这是一个调用函数:

public static void login(final String token, final Activity activity) {
    String requestUrl = AppConstant.LOGIN;

    final HashMap<String, String> params = new HashMap<String, String>();
    if (token != null && !token.isEmpty()) {
        params.put("token", token);
    }
    params.put("useragent", AppConstant.USER_AGENT);
    params.put("version", getVersionName(activity));

    JsonFormRequest myRequest = new JsonFormRequest(
            Request.Method.POST,
            requestUrl,
            params,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject jsonObject) {
                    ...
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError volleyError) {
                    ...
                }
            }
    );

    MfApplication.getInstance().addToRequestQueue(myRequest, "tag_login_phone");
}

它将请求添加到队列中:

public <T> void addToRequestQueue(Request<T> req, String tag) {
    getRequestQueue().add(req);
}

队列按以下方式创建一次:

mRequestQueue = Volley.newRequestQueue(getApplicationContext());

如果我从我的 Application 类中删除以下 Parse 初始化代码,错误就会消失:

Parse.initialize(this);
ParseInstallation.getCurrentInstallation().saveInBackground();
ParsePush.subscribeInBackground("general");

问题的原因是什么,可以做什么?

最佳答案

对于遇到完全相同问题的任何其他人:将 Android Parse SDK 版本更新到 1.13.1 为我解决了这个问题。

关于android - 如果 Parse 推送已初始化,则 HTTPS 请求的 SSLPeerUnverifiedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35750090/

相关文章:

android - 如何在回收站 View 中设置 On Item Click 监听器并将一个 Activity 中来自 JSON 的数据发送到另一个 Activity ?

android - 将窗口SystemUiVisibility设置为SYSTEM_UI_FLAG_LIGHT_STATUS_BAR时,全屏DrawerLayouts如何影响将 fragment 添加到后堆栈?

node.js - Bluemix 应用程序上自定义域的 SSL 证书传播问题

node.js - 如何使用 Node 配置ssl

ios - 从 Parse 检索对象时无法正确重新加载数据

Android:持续在后台收听相机拍照

android - 通过反向代理服务器将 socket.io android 客户端连接到套接字服务器

ssl - Traefik:使用默认证书时日志中的 "No ACME certificate generation required for domains"

unity-game-engine - Unity3d Parse FindAsync 方法卡住 UI

swift - Parse.com Swift 多类查询