OkHttp简介

一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpClient。

OkHttp的优势

发送Get请求

    /*** 同步get请求*/public static void syncGet() throws Exception{String urlBaidu = "http://www.baidu.com/";OkHttpClient okHttpClient = new OkHttpClient(); // 创建OkHttpClient对象Request request = new Request.Builder().url(urlBaidu).build(); // 创建一个请求Response response = okHttpClient.newCall(request).execute(); // 返回实体if (response.isSuccessful()) { // 判断是否成功/**获取返回的数据,可通过response.body().string()获取,默认返回的是utf-8格式;* string()适用于获取小数据信息,如果返回的数据超过1M,建议使用stream()获取返回的数据,* 因为string() 方法会将整个文档加载到内存中。*/System.out.println(response.body().string()); // 打印数据}else {System.out.println("失败"); // 链接失败}}

Post提交表单

    /*** Post提交表单*/public static void postFromParameters() {String url = "http://v.juhe.cn/wepiao/query"; // 请求链接String KEY = "9488373060c8483a3ef6333353fdc7fe"; // 请求参数OkHttpClient okHttpClient = new OkHttpClient(); // OkHttpClient对象RequestBody formBody = new FormBody.Builder().add("key", KEY).build(); // 表单键值对Request request = new Request.Builder().url(url).post(formBody).build(); // 请求okHttpClient.newCall(request).enqueue(new Callback() {// 回调public void onResponse(Call call, Response response) throws IOException {System.out.println(response.body().string());//成功后的回调}public void onFailure(Call call, IOException e) {System.out.println(e.getMessage());//失败后的回调}});}

Post提交字符串

    /*** Post提交字符串* 使用Post方法发送一串字符串,但不建议发送超过1M的文本信息*/public static void postStringParameters(){MediaType MEDIA_TYPE = MediaType.parse("text/text; charset=utf-8");String url = "http://v.juhe.cn/wepiao/query"; // 请求链接OkHttpClient okHttpClient = new OkHttpClient(); // OkHttpClient对象String string = "key=9488373060c8483a3ef6333353fdc7fe"; // 要发送的字符串/*** RequestBody.create(MEDIA_TYPE, string)* 第二个参数可以分别为:byte[],byteString,File,String。*/Request request = new Request.Builder().url(url).post(RequestBody.create(MEDIA_TYPE,string)).build();okHttpClient.newCall(request).enqueue(new Callback() {public void onResponse(Call call, Response response) throws IOException {System.out.println(response.body().string());}public void onFailure(Call call, IOException e) {System.out.println(e.getMessage());}}); }

Java OkHttp3的简单使用相关推荐

  1. Java中的简单工厂模式(转)

    Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...

  2. jsp java 登陆_jsp+java servlet实现简单用户登录

    jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...

  3. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  4. Java语言实现简单FTP软件------源码放送(十三)

    Java语言实现简单FTP软件------>FTP协议分析(一) Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二) Java语言实现简单FTP软件----- ...

  5. Java中的简单浮点数类型float和double不能够进行精确运算

    在java中,简单的浮点类型float和double是不能够进行运算.我们先看下面的两个程序代码: 代码一: import java.util.Scanner; class Circle { doub ...

  6. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  7. Java消息系统简单设计与实现

    前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...

  8. 如何复制java卡,使用java做一个简单的集卡程序

    使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...

  9. java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫

    Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...

最新文章

  1. 笔记本电脑设置触摸板双指滑动
  2. 利用MEGA32制作辉光数码管显示电路
  3. 【NLP】NLP重铸篇之Fasttext
  4. ROS获取KinectV2相机的彩色图和深度图并制作bundlefusion需要的数据集
  5. 理解 redis 中的 集合对象类型
  6. 无人驾驶二 卡尔曼滤波与PID控制
  7. 通过可视化来了解你的Spark应用程序
  8. MySQL主从复制架构转换MGR架构(手动版)
  9. python mysql 连接超时时间_一段时间后MySQL连接超时(Python、MySQL、FLASK)
  10. css 为什么给span加vertical-align: middle不起作用?
  11. codeforces 446A DZY Loves Sequences
  12. JDBC驱动连接SQLserver数据库
  13. 分销系统开发 三级分销技术开发
  14. 蛋白定量质谱(Label-free)
  15. Window图片和传真查看器不能用
  16. 用户头像上传(自用)
  17. HZNU Training 4 for Zhejiang Provincial Collegiate Programming Contest 2019
  18. Java的短信接口的使用
  19. RabbitMQ的简单应用
  20. linux Xinetd服务简介

热门文章

  1. 文巾解题 面试题 01.04. 回文排列
  2. 文巾解题 面试题 01.01. 判定字符是否唯一
  3. 文巾解题 21. 合并两个有序链表
  4. 文巾解题 leetcode1442. 形成两个异或相等数组的三元组数目
  5. AB测试:基础概念、应用场景及入门指南
  6. 串口上升时间标准_JESD204B串行接口时钟需要及其实现
  7. python怎么自动生成测试报告_python生成接口自动化测试报告模版
  8. 数据分析利器--Pandas
  9. Python3--批量爬取数据之调用有道api进行翻译
  10. 【Linux】28_网站服务动态站点