我正在用volley做登录应用程序(后api),但由于错误javax.net.ssl.sslhandshakeexception error
我没有连接。我检查了所有版本,但收到相同的错误请清除这个疑问。这是我的代码:
private void LoginUser() {
if (awesomeValidation.validate()) {
final String username = et_nameemail.getText().toString().trim();
final String password = et_password.getText().toString().trim();
final String deviceId = "";
final String deviceType = "";
HttpsTrustManager.allowAllSSL();
StringRequest stringRequest = new StringRequest(Request.Method.POST, URLline,
new com.android.volley.Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(Login_Activity.this, response, Toast.LENGTH_LONG).show();
parseData(response);
}
private void parseData(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.getString("status").equals("OK")) {
Intent intent = new Intent(Login_Activity.this, HomeOwner.class);
startActivity(intent);
} else {
Toast.makeText(Login_Activity.this, "error ", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Login_Activity.this, error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("email", username);
params.put("password", password);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(Login_Activity.this);
requestQueue.add(stringRequest);
stringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
}
}
});
我之前遇到过此问题,您需要手动将SSL证书添加到您的项目中。检查此问题的可接受答案:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. on api less 24它将解决您的问题。