[置顶] okhttp 网络请求添加请求头,get和post请求,表单提交 ,二进制流
2017-05-15 16:50
507 查看
Okhttp 加请求头
适用于get请求 post请求 put请求(本人亲自测试)
get请求
String uri = Constant.URL + Constant.KNOWLEDGE + “?type=” + “1” + “&page=” + “15” + “&rows=” + “999”;
final Request.Builder builder = new Request.Builder().url(uri);
builder.addHeader(“sessionId”, sessionId); //将请求头以键值对形式添加,可添加多个请求头
Log.e(TAG, “initData: ” + sessionId);//大神不要笑,打印了一下传的值
//sessionId” 这个请求头文,sessionId 传的值
final Request request = builder.build();
final OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.build(); //设置各种超时时间
final Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败的情况
Log.e(TAG,“onFailure:” +e );
}
post 请求
表单方式提交数 + 请求头 + 二进制流上传(图片)
String uri = Constant.URL + Constant.URL_A2_B;
RequestBody req = RequestBody.create(MediaType.parse(“image/png”), String.valueOf
(Arrays.asList(imageItem)));//转化成数组
// RequestBody req = RequestBody.create(MediaType.parse(“image/png”), String.valueOf
(Arrays.asList(imageItem)));上面这里是把图片转成二进制流 在传输给服务器
//addFormDataPart 穿参数的方法 addPart h
put请求
还没有用到put加请求头文件,你看了post 还不会put请求吗?
适用于get请求 post请求 put请求(本人亲自测试)
get请求
String uri = Constant.URL + Constant.KNOWLEDGE + “?type=” + “1” + “&page=” + “15” + “&rows=” + “999”;
final Request.Builder builder = new Request.Builder().url(uri);
builder.addHeader(“sessionId”, sessionId); //将请求头以键值对形式添加,可添加多个请求头
Log.e(TAG, “initData: ” + sessionId);//大神不要笑,打印了一下传的值
//sessionId” 这个请求头文,sessionId 传的值
final Request request = builder.build();
final OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.build(); //设置各种超时时间
final Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败的情况
Log.e(TAG,“onFailure:” +e );
}
@Override public void onResponse(Call call, Response response) throws IOException { /** *打印后台返回结果 */ Log.e(TAG, "onResponse: " + response.body().string()); } });
post 请求
表单方式提交数 + 请求头 + 二进制流上传(图片)
String uri = Constant.URL + Constant.URL_A2_B;
RequestBody req = RequestBody.create(MediaType.parse(“image/png”), String.valueOf
(Arrays.asList(imageItem)));//转化成数组
// RequestBody req = RequestBody.create(MediaType.parse(“image/png”), String.valueOf
(Arrays.asList(imageItem)));上面这里是把图片转成二进制流 在传输给服务器
//addFormDataPart 穿参数的方法 addPart h
RequestBody requestBody = new MultipartBody.Builder() .addFormDataPart("workOrderContent", GDMS) .addFormDataPart("deviceCode", deviceCode) .addFormDataPart("workOrderType", workorderGDNX.getText().toString()) .addFormDataPart("priority", workorderYXJ.getText().toString()) .addFormDataPart("createUser", userid) .addFormDataPart("leader", userid) .addFormDataPart("workPlan", GZJH) .addFormDataPart("workOrderActual", "1") .addPart(req) .build(); final Request request = new Request.Builder() .url(uri) .post(requestBody) .addHeader("sessionId", sessionId)//这个添加请求头文件和传输的值 .build(); final OkHttpClient client = new OkHttpClient.Builder() .readTimeout(30, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(60, TimeUnit.SECONDS) .build(); //设置各种超时时间 final Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { Log.e(TAG, "onResponse: " + response.body().string()); } });
put请求
还没有用到put加请求头文件,你看了post 还不会put请求吗?
相关文章推荐
- form表单中的get和post提交请求的区别
- Android okHttp网络请求之Get/Post请求(一)
- Android OkHttp3(完美封装)Get异步获取数据、Post异步获取数据、Form表单提交、文件下载
- 表单提交数据get请求和post请求的区别
- [置顶] 使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会
- 表单提交数据请求 get和post的 区别
- android利用httpclient实现post、get请求restful接口进行json和form表单数据提交等公共方法类
- Android okHttp网络请求之Get/Post请求
- Node搭建服务器与GET请求,POST提交表单
- okhttp网络框架的使用get和post请求
- [置顶] Okhttp 向服务器发送请求(请求头,表单,post json数据)
- Android中Okhttp进行get和post提交及数据请求的基本使用
- 表单提交数据get请求和post请求的区别?
- 手动get post请求网络(面向http协议向服务器提交数据)
- Android_HttpClient_get请求post表单提交上传
- form表单提交数据get,post请求的区别
- iOS AFN 封装POST网络请求(AFURLSessionManager) (续一) upload表单提交方法
- [网络收集]form表单提交方式post和get,Request.QueryString,Request.Form
- Android 单例模式 封装 Okhttp + RxJava 网络请求(get和post)
- Android okHttp网络请求之Get/Post请求