您的位置:首页 > 其它

Volley框架之使用GET取得Cookie

2015-11-13 22:08 344 查看
在Volley中,我们想要GET网址得到Cookie,需要覆盖一个方法 protected
Response<String> parseNetworkResponse(NetworkResponse response)。

具体如何操作呢?

private void VolleyGET() {

String url = "你的网址";

RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
final StringRequest request = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {

}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

Toast.makeText(LoginActivity.this, "世界上最遥远的距离就是没网。检查设置" + error, Toast.LENGTH_LONG).show();
}
}){
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
Map<String,String> mHeaders = response.headers;
String rawCookie = mHeaders.get("Set-Cookie");
String[] rawArray = rawCookie.split(";");
cookie = rawArray[0];
editor.putString("Cookie", cookie);
editor.apply();
try {
String data = new String(response.data, "UTF-8");
return Response.success(data, HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
}
}
};
request.setTag("GET");
queue.add(request);
}
get("Set-Cookie") 这个方法是从头部的map集合中,去得cookie,然后将其保存于SharedPreferences,方便后续的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: