更新为HttpsURLConnection
后,使用Android 5.0 lollipop
登录到https网站时出现异常。 (它在android 4.4 kitkat中很好用)
05-08 02:18:12.277 32344-32482/com.soonoo.mobilecampus E/INFO﹕ javax.net.ssl.SSLHandshakeException: Handshake failed
我已经阅读了有关android 5.0更改的文章。 (http://developer.android.com/about/versions/android-5.0-changes.html#ssl)
看来我应该添加服务器所需的一些密码套件。
谁能给我一些有关如何将密码套件添加到
HttpsURLConnection
的建议/代码吗?我尝试了以下答案,但对我没有用...(Which Cipher Suites to enable for SSL Socket?)
我使用下面的代码进行连接:
HttpsURLConnection con = (HttpsURLConnection) new URL(Sites.LOGIN_URL).openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-length", String.valueOf(loginQuery.length()));
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)");
con.setDoOutput(true);
con.setDoInput(true);
DataOutputStream output = new DataOutputStream(con.getOutputStream());
output.writeBytes(loginQuery);
output.close();
最佳答案
您无法将密码套件添加到客户端。我建议使用Qualys SSL Labs' SSL Server test之类的在线工具来检查服务器支持哪些密码套件。如果服务器不支持Android 5 supports的任何密码套件,那么恐怕您在客户端上无能为力。
关于java - 如何将SSL密码套件添加到HttpsURLConnection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30108737/