Java OkHttp3的简单使用
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的简单使用相关推荐
- Java中的简单工厂模式(转)
Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...
- jsp java 登陆_jsp+java servlet实现简单用户登录
jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...
- java编写存钱_用Java编写一个简单的存款
package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...
- Java语言实现简单FTP软件------源码放送(十三)
Java语言实现简单FTP软件------>FTP协议分析(一) Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二) Java语言实现简单FTP软件----- ...
- Java中的简单浮点数类型float和double不能够进行精确运算
在java中,简单的浮点类型float和double是不能够进行运算.我们先看下面的两个程序代码: 代码一: import java.util.Scanner; class Circle { doub ...
- 用java写一个简单的区块链(下)
用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...
- Java消息系统简单设计与实现
前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...
- 如何复制java卡,使用java做一个简单的集卡程序
使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...
- java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫
Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...
最新文章
- 笔记本电脑设置触摸板双指滑动
- 利用MEGA32制作辉光数码管显示电路
- 【NLP】NLP重铸篇之Fasttext
- ROS获取KinectV2相机的彩色图和深度图并制作bundlefusion需要的数据集
- 理解 redis 中的 集合对象类型
- 无人驾驶二 卡尔曼滤波与PID控制
- 通过可视化来了解你的Spark应用程序
- MySQL主从复制架构转换MGR架构(手动版)
- python mysql 连接超时时间_一段时间后MySQL连接超时(Python、MySQL、FLASK)
- css 为什么给span加vertical-align: middle不起作用?
- codeforces 446A DZY Loves Sequences
- JDBC驱动连接SQLserver数据库
- 分销系统开发 三级分销技术开发
- 蛋白定量质谱(Label-free)
- Window图片和传真查看器不能用
- 用户头像上传(自用)
- HZNU Training 4 for Zhejiang Provincial Collegiate Programming Contest 2019
- Java的短信接口的使用
- RabbitMQ的简单应用
- linux Xinetd服务简介
热门文章
- 文巾解题 面试题 01.04. 回文排列
- 文巾解题 面试题 01.01. 判定字符是否唯一
- 文巾解题 21. 合并两个有序链表
- 文巾解题 leetcode1442. 形成两个异或相等数组的三元组数目
- AB测试:基础概念、应用场景及入门指南
- 串口上升时间标准_JESD204B串行接口时钟需要及其实现
- python怎么自动生成测试报告_python生成接口自动化测试报告模版
- 数据分析利器--Pandas
- Python3--批量爬取数据之调用有道api进行翻译
- 【Linux】28_网站服务动态站点