- 浏览: 84184 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (110)
- 异常信息 (3)
- JVM (3)
- Maven (2)
- 安全加密 (4)
- server服务类 (8)
- 前端技术类 (7)
- 设计模式 (2)
- memcached (0)
- mongodb (3)
- pinyin4j (1)
- struts2 (1)
- 杂烩 (26)
- 爬虫 (3)
- Java反射 (2)
- RMI (1)
- Velocity (2)
- node.js (0)
- GIT (4)
- ffmpeg与java (1)
- Spring Boot (0)
- Linux (3)
- Spring (4)
- 七牛云服务 (1)
- shell (2)
- python (0)
- JNI实现Java和其他语言的通信 (0)
- nutz (1)
- zookeeper (1)
- dubbo (0)
- Druid数据库连接池 (1)
- redis (14)
- hessian (0)
- RabbitMQ (0)
- ActiveMQ (1)
- JFinal极速 web 开发框架 (0)
- solr (0)
- jersey【RESTful Web Services in Java】 (0)
- GO学习 (6)
- nginx (1)
- TapeStry (2)
- Disruptor,并发 (1)
- Mybatis (1)
最新评论
-
qii404:
推荐另一个Redis可视化客户端,开源并且跨平台支持,性能可以 ...
redis可视化工具RedisClient使用
官方地址:https://github.com/square/okhttp/
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架
简单测试okhttp Get请求
测试okhttp Post请求
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version> </dependency>
简单测试okhttp Get请求
package com.sb.okhttp.okhttp; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class Test { // 创建OkhttpClient对象 OkHttpClient client = new OkHttpClient(); /** * okhttp get 同步请求 */ public void testGet(String url) { Request request = new Request.Builder().get().url(url) // 请求地址 .build();// 创建Request对象、 Response response = null; try { // 执行请求并获取Response对象 response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); } if (null != response) { if (response.isSuccessful()) {// 请求成功 System.out.println(response.code());// 状态码 System.out.println(response.message());// message try { String res = response.body().string(); System.out.println(res); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("请求失败"); } } else { System.out.println("请求失败"); } } /** * okhttp get 异步请求 */ public void asynchronousGet(String url){ Request request = new Request.Builder().get().url(url) // 请求地址 .build();// 创建Request对象 client.newCall(request).enqueue(new Callback() { public void onResponse(Call arg0, Response response) throws IOException { //注:onResponse 回调会在子线程中执行,而不是主线程 if (response.isSuccessful()) {// 请求成功 System.out.println(response.code());// 状态码 System.out.println(response.message());// message try { String res = response.body().string(); System.out.println(res); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("请求失败"); } } //注:onFailure 回调会在子线程中执行,而不是主线程 public void onFailure(Call arg0, IOException arg1) { System.out.println("请求失败"); } }); } public static void main(String[] args) { Test t = new Test(); String url = "http://www.baidu.com"; //t.testGet(url); t.asynchronousGet(url); } }
测试okhttp Post请求
package com.sb.okhttp.okhttp; import java.io.File; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class TestPost { //数据类型json public static final MediaType mediaType = MediaType.parse("application/json;charset=utf-8"); //数据类型File public static final MediaType mediaType_file = MediaType.parse("File/*"); OkHttpClient client = new OkHttpClient(); /** * Post提交Json数据 * @param url 提交的地址 * @param json 提交啊的json数据 * @return 返回post之后返回的结果数据 */ public String postJson(String url,String json){ RequestBody body = RequestBody.create(mediaType,json); Request request = new Request.Builder().url(url).post(body).build(); Response response = null; try { response = client.newCall(request).execute(); if(null!=response){ if(response.isSuccessful()){ return response.body().string(); } } } catch (IOException e) { e.printStackTrace(); } return null; } /** * okhttp 模拟表单提交 * @param url post的地址 */ public void postKeyValue(String url ){ FormBody.Builder formBody = new FormBody.Builder();//创建表单请求体 formBody.add("name","zbb"); formBody.add("age","26"); Request request = new Request.Builder() //创建请求对象 .url(url) .post(formBody.build()) //传递请求体 .build(); client.newCall(request).enqueue(new Callback() { public void onResponse(Call call, Response res) throws IOException { //请求成功响应后回调 if(res.isSuccessful()){ String result = res.body().string(); System.out.println(result); } } public void onFailure(Call call, IOException arg1) { //请求失败后回调 //....此处代码省略 } }); } /** * okhttp 上传File对象 * @param filePath file路径 * @param url 提交到的地址 */ public void postFile(String filePath,String url){ File file = new File(filePath); RequestBody body = RequestBody.create(mediaType_file,file); Request request = new Request.Builder() .url(url) .post(body) .build(); client.newCall(request).enqueue(new Callback() { public void onResponse(Call arg0, Response arg1) throws IOException { //请求成功响应后的回调 //..... } public void onFailure(Call arg0, IOException arg1) { //请求失败后的回调 //..... } }); } /** * okhttp post 既传递表单参数也提交File * @param file 文件对象 * @param url 提交到的地址 */ public void postMultipartBody(File file,String url){ MultipartBody body = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("name","zbb") .addFormDataPart("age","26") .addFormDataPart("f",file.getName(), RequestBody.create(mediaType_file,file)) .build(); Request request = new Request.Builder() .url(url) .post(body) .build(); client.newCall(request).enqueue(new Callback() { public void onResponse(Call arg0, Response arg1) throws IOException { //请求成功响应后的回调 //..... } public void onFailure(Call arg0, IOException arg1) { //请求失败后的回调 //..... } }); } public static void main(String[] args) { } }
发表评论
-
jmeter简单使用,仅供自己记录,更多jemeter使用请参考其官网
2018-10-20 13:34 1034jemter 官网地址http://jmeter.apache ... -
转载:EL表达式处理字符串 是否 包含 某字符串 截取 拆分
2018-05-14 12:34 640EL表达式处理字符串 是否 包含 某字符串 截取 拆分.... ... -
OpenVpn--windows客户端连接简单配置
2018-01-31 11:23 800第一步: 在config目录下新建一个.ovpn文件,例 ... -
冒泡排序
2017-12-06 11:36 403import java.util.Arrays; ... -
SecureCRT显示乱码
2017-11-30 11:07 516... -
常见密文类型
2017-11-08 15:30 1498... -
Eclipse 修改项目名称
2017-11-03 11:37 385Eclipse 修改项目名称 1:修改项目目录下:.proje ... -
Gradle windows 安装
2017-08-22 11:11 336下载地址http://services.gradle.org/ ... -
测试 java8 Lambda
2017-07-05 15:33 330概念: Lambda 表达式,也可称为闭包,它是推动 J ... -
Java 加载Properties文件
2017-05-03 14:39 4041。使用java.util.Properties类的load( ... -
Eclips在线安装svn插件
2017-03-24 12:12 284http://subclipse.tigris.org/upd ... -
常见媒体类型
2017-02-08 11:27 472常见的媒体类型如 text/html : HTM ... -
java图片处理Thumbnailator 包的使用
2017-02-07 15:31 4698从图像文件创建缩略图 Thumbnails.of(n ... -
4种压缩格式的特征的比较
2017-01-10 15:15 6344种压缩格式的特征的比较 -
常见状态码
2016-12-20 11:35 4061xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态 ... -
windows命令
2016-09-02 16:26 264windows运行打开服务命令 1. gpedit.msc- ... -
Eclipse 常用快捷键
2016-08-31 16:14 466Ctrl+1 快速修复(最经典的快捷键,就不用多说了,可以解决 ... -
java时间加减
2016-08-25 13:29 624public static Date addOrMinusYe ... -
java 如何判断操作系统是Linux还是Windows
2016-04-22 14:22 2633String s = System.getProperty(& ... -
页面上调用 QQ
2014-09-24 00:44 965<A href="tencent://mess ...
相关推荐
一、OkHttp的基本概念与优势 1. OkHttp的核心理念是通过复用TCP连接来减少网络延迟,提高网络请求的效率。它实现了HTTP/1.1和HTTP/2协议,支持连接池、自动重试、压缩响应数据等特性。 2. OkHttp提供了一个简洁的API...
**OKHttp简介** OKHttp是Square公司开源的一款高效、易用的HTTP客户端库,它旨在通过减少网络延迟和减少内存消耗来改善Android...通过学习和使用OKHttp,开发者可以更有效地实现网络通信,提升应用的性能和用户体验。
你可以通过下载并研究这个项目,学习如何在不使用Android Studio的情况下,成功地集成和使用Retrofit+Okhttp。 总之,Retrofit+Okhttp组合提供了一种高效、简洁的网络请求解决方案,无论是在Android Studio还是...
在Android开发中,Retrofit、RxJava和OkHttp...总的来说,"Android retrofit+rxjava+okhttp"的学习对于Android开发者来说是提高生产力的重要步骤。通过深入理解和实践,可以大大提升网络请求部分的代码质量和可维护性。
《鸿洋大神的OkHttp源码解析及应用》 ...通过学习和使用这份源码,我们可以更高效地利用OkHttp,提升应用的网络性能,实现更加精细的网络请求控制。无论是对于初学者还是经验丰富的开发者,这都是一份宝贵的参考资料。
使用OkHttp进行GET请求非常简单。首先,我们需要创建一个`OkHttpClient`实例,这是OkHttp的核心组件,负责管理网络连接和缓存策略。例如: ```java OkHttpClient client = new OkHttpClient(); ``` 然后,构建...
总结来说,"Android开发 okhttp网络请求使用demo"是一个实用的学习资源,它涵盖了OkHttp的基础用法和文件上传。通过对这个demo的深入学习,开发者可以更好地理解和运用OkHttp来优化Android应用的网络性能。
OkHttp 是一个高效的 HTTP 客户端库,由 Square ...总的来说,OkHttp 封装库为开发者提供了高效、易用的网络请求解决方案,通过学习和使用这个库,你可以提升你的 Android 应用程序的网络性能,并更好地处理网络请求。
本篇将详细讲解如何在Android中使用OkHttp进行网络请求,并提供一个简单的Demo代码。 首先,理解OkHttp的核心优势:它提供了缓存机制,减少了不必要的网络请求;支持HTTP/2和SPDY协议,能有效减少网络延迟;并且...
总的来说,掌握Retrofit、OkHttp和RxAndroid的使用,不仅可以让你的Android应用拥有更高效的网络通信能力,还能让你的代码结构更加清晰,易于维护。在实际开发中,这些技术的综合运用能帮助你构建出更加出色的应用。...
以下是一个简单的示例代码,展示了如何使用OkHttp建立WebSocket连接: ```java import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.WebSocket; import okhttp3.WebSocketListener; public ...
通过阅读《Android Okhttp3+MVP简单实战》这篇文章,你将学习如何在Android应用中集成OkHttp3,创建Presenter来封装网络请求,以及如何在MVP模式下处理网络数据。同时,项目中的"OkhttpMVP"文件可能包含了实现这些...
5. **简洁的 API**:OkHttp 的 API 设计简单直观,使得开发者能够轻松地构建网络请求。 6. **性能优化**:OkHttp 使用高效的字节缓冲,减少了内存拷贝,提高了数据传输效率。 7. **安全支持**:OkHttp 支持 TLS ...
通过这个项目,开发者可以学习如何有效地整合OkHttp和Gson,实现网络请求、文件上传和下载,以及如何在Android中处理UI线程的回调。这对于提升Android应用的网络功能和用户体验具有重要的实践价值。
4. **简洁API**:OkHttp3提供了一套直观且易用的API,使得网络请求的编写变得简单。 5. **拦截器**:通过拦截器,开发者可以自定义请求和响应处理,实现日志记录、认证等功能。 接下来是HttpURLConnection,它是...
OkHttp是由Square公司开发的一个HTTP客户端库,它提供了一个简单、高效且强大的接口来处理网络请求。OkHttp通过缓存响应、连接池和线程安全的架构,显著提高了网络请求的速度和效率。 二、多文件上传原理 多文件...
这个标题暗示了我们将会学习如何利用OkHttp3来处理HTTP的POST请求,这对于任何需要与服务器交互,如登录、注册等场景的应用都是至关重要的。 【描述】"对应博客地址:...
**正文** OkHttp是Java和Android平台上广泛使用的网络请求库,由Square公司开发并维护。..."高度封装的OkHttp"指的是OkHttp库在设计时充分...通过学习和掌握OkHttp的使用,可以显著提升开发效率,优化应用的网络性能。
使用这样一个封装库,开发者可以避免直接与OkHttp的复杂API打交道,减少出错的可能性,同时提高代码的可读性和可维护性。例如,通过调用封装库提供的方法,一个简单的GET请求可能只需要一行代码就能完成。 ```java ...
本项目使用MVP模式,结合了OKHttp和RxJava这两款强大的库,旨在提供一个简单易懂的数据请求解决方案。 **MVP模式详解:** MVP模式主要由三部分组成: 1. **Model(模型)**:负责处理业务逻辑和数据获取,与数据源...