使用齐射的HTTPS请求

时间:2014-02-04 14:39:31

标签: android ssl-certificate android-volley

有人可以向我展示如何使用众所周知的CA颁发的证书,使用齐射库对服务器执行POST或GET请求吗?与标准http请求相比,我是否需要更改任何内容?

我阅读了本教程 - http://ogrelab.ikratko.com/using-android-volley-with-self-signed-certificate/,但它是关于自签名SSL证书的。

我将不胜感激任何帮助

2 个答案:

答案 0 :(得分:3)

我环顾四周也找到了答案。对我来说,我发现它与更改我的请求URL一样简单:

http://www.myserver.com/whatever

https://www.myserver.com/whatever

这可能取决于您的服务器和DNS设置。例如,我重定向我的根域:

https://myserver.comhttps://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;
}