你如何使用Volley(Android)进行https POST请求?

时间:2017-11-26 10:00:38

标签: java android https android-volley

Android应用在POST请求中出错:

  

com.android.volley.NoConnectionError:   javax.net.ssl.SSLHandshakeException:   java.security.cert.CertPathValidatorException:信任锚   未找到证书路径。

谷歌搜索后,我发现此错误可能与未知的证书颁发机构有关。

所以我的问题是:

您使用哪种证书颁发机构服务来防止此错误?

这是我的POST代码,也许有一些错误? - 我在我的网址中使用了httpS。

private void userRegistration(){
    StringRequest stringRequest = new StringRequest(Request.Method.POST, url + REG, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(getApplicationContext(), "Все прошло хорошо!", Toast.LENGTH_SHORT).show();

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_SHORT).show();

        }
    }){
        @Override
        protected java.util.Map<String, String> getParams() throws AuthFailureError {
            java.util.Map<String, String> params = new HashMap<String, String>();
            params.put(EMAIL, userEmail);
            params.put(PASSWORD, userPass);
            return params;
        }
    };
    final RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

我已经读过这些:

  • Official android tutorial关于这个错误。

  • 有关stackoverflow的一些相关问题(Q1Q2)。 Q1 (BNK答案)实际上对我有用并解决了问题,但我 相信在Android中使用HTTPS有更好的方法。

  • This one对我没用。

请帮帮我!使用Volley使用https的常用方法(最佳实践)是什么?也许它只是从知名当局购买证书?

0 个答案:

没有答案