内容简介:android的网络请求有很多第三方框架,其中volley由于其高的定制性、稳定性以及速度快得到了大家广泛的使用以及研究,这里我只是说一下我对这个框架下post请求使用的心得体会。 一.cookies的使用 cookies,token,seesion这些都可以理解为我们请求登陆接口后,后台根据用户信息生成一串字符串,然后每次请求接口后会读取这串字符串,就可以识别为那个用户,并且根据用户信息做接下来的逻辑判断。 首先自定义一个MyPostRequest 继承 Request 然后重写getHeaders()方
android的网络请求有很多第三方框架,其中volley由于其高的定制性、稳定性以及速度快得到了大家广泛的使用以及研究,这里我只是说一下我对这个框架下post请求使用的心得体会。 一.cookies的使用 cookies,token,seesion这些都可以理解为我们请求登陆接口后,后台根据用户信息生成一串字符串,然后每次请求接口后会读取这串字符串,就可以识别为那个用户,并且根据用户信息做接下来的逻辑判断。 首先自定义一个MyPostRequest 继承 Request 然后重写getHeaders()方法
/**
* 在heard里面加入cookies
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
if (cookies!=null && cookies.length()>1) {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("cookie",cookies);
Log.d("Volley", "headers----------------" + headers);
return headers;
}else {
return super.getHeaders();
}
}
复制代码
cookie为取到的cookie值缓存起来
获取cookie
/**
* 对请求的结果进行处理
* */
@Override
protected Response<RequestCall> parseNetworkResponse(
NetworkResponse response) {
if (cookies==null || DtdApplication.cookies.length()<1) {
Map<String, String> responseHeaders = response.headers;
String rawCookies = responseHeaders.get("Set-Cookie");
if (rawCookies!=null) {
cookies=rawCookies.substring(0,rawCookies.indexOf(";"));
}
}
}
复制代码
这个方法里去cookie值 二、BodyContentType
@Override
public String getBodyContentType() {
return "application/json; charset=" + getParamsEncoding();
}
复制代码
这个方法可以设置contenttype,contenttype为请求heard里面的头部分,用来识别数据的格式
三。定义参数为object类型
@Override
public byte[] getBody() throws AuthFailureError {
Map<String, Object> params = parms;
if (params != null && params.size() > 0) {
try {
return JsonUtils.toJson(params).getBytes(getParamsEncoding());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return null;
}
复制代码
从手机端到服务器传递的之最后都会转化成byte[],所以我们之object转成byte数组,然后后台可以识别就可以自,治理我转化成json。
四、设置时间间隔和重复请求
/**
* 重复请求次数时间设置
* */
@Override
public RetryPolicy getRetryPolicy() {
RetryPolicy retryPolicy = new DefaultRetryPolicy(1000*3, 0, 1.0f);
return retryPolicy;
}
复制代码
这个方法用来设置请求过期时间,第一个参数为时间,第二个为重复请求次数
五、最后在说下Response parseNetworkResponse方法 这个方法为请求返回后的方法 其中response里面放的是请求返回的数据 response.data放的是请求返回的体,是body,为byte数组 response.headers 为请求头,存放contenttype、cookies等一些heard信息
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 自定义Egg.js的请求级别日志
- springboot使用filter获取自定义请求头
- 【SpringBoot WEB 系列】RestTemplate 之自定义请求头
- HLS.JS 自定义 分片 TS 请求 URL
- 定义一个通用的多功能网络请求 Widget(Flutter)
- IJPay 让支付触手可及,1.2.2 自定义网络请求
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从界面到网络空间
(美)海姆 / 金吾伦/刘钢 / 上海科技教育出版社 / 2000-7 / 16.40元
计算机急剧改变了20世纪的生活。今天,我们凭借遍及全球的计算机网络加速了过去以广播、报纸和电视形式进行的交流。思想风驰电掣般在全球翻飞。仅在角落中潜伏着已完善的虚拟实在。在虚拟实在吕,我们能将自己沉浸于感官模拟,不仅对现实世界,也对假想世界。当我们开始在真实世界与虚拟世界之间转换时,迈克尔·海姆问,我们对实在的感觉如何改变?在〈从界面到网络空间〉中,海姆探讨了这一问题,以及信息时代其他哲学问题。他......一起来看看 《从界面到网络空间》 这本书的介绍吧!