有人可以向我展示如何使用众所周知的CA颁发的证书,使用齐射库对服务器执行POST或GET请求吗?与标准http请求相比,我是否需要更改任何内容?
我阅读了本教程 - http://ogrelab.ikratko.com/using-android-volley-with-self-signed-certificate/,但它是关于自签名SSL证书的。
我将不胜感激任何帮助
答案 0 :(得分:3)
我环顾四周也找到了答案。对我来说,我发现它与更改我的请求URL一样简单:
http://www.myserver.com/whatever
到
https://www.myserver.com/whatever
这可能取决于您的服务器和DNS设置。例如,我重定向我的根域:
https://myserver.com
至https://www.myserver.com
。这是一个Heroku的事情......
当我尝试向根域发出请求时,我在尝试重定向到www子域时收到了来自服务器的301响应。请记住您的DNS设置。希望这有助于某人!
答案 1 :(得分:1)
这就是我使用它的方式:
public Request<?> deleteUser(String id, final String loginName, final String password,
Response.Listener responseListener,
Response.ErrorListener errorListener) {
final int method = Request.Method.DELETE;
final Map<String, String> authHeaders = getAuthHeaders(loginName, password);
StringRequest request = new StringRequest(method, url, responseListener, errorListener) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return authHeaders;
}
};
return mQueue.add(request);
}
public Map<String, String> getAuthHeaders(String loginName, String password) {
HashMap<String, String> params = new HashMap<String, String>();
String creds = String.format("%s:%s", loginName, password);
String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.DEFAULT);
params.put("Authorization", auth);
return params;
}