OkHttp的简单使用

前言

以前一直都是用浏览器发请求,刚接触到Http客户端,了解到原来可以在应用内使用Http客户端来发送GET、POST、PUT等基于RESTful风格的请求,原谅我以前的无知。那么使用OkHttp来实现应用内发请求。

1、OkHttp介绍

OkHttp是一个优秀的网络请求框架。
百度中的介绍如下:
okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient(android API23 里已移除HttpClient)。

2、优势

  • 允许连接到同一个主机地址的所有请求,提高请求效率

  • 共享Socket,减少对服务器的请求次数

  • 通过连接池,减少了请求延迟

  • 缓存响应数据来减少重复的网络请求

  • 减少了对数据流量的消耗

  • 自动处理GZip压缩

3、功能

  • get,post请求

  • 文件的上传下载

  • 加载图片(内部会图片大小自动压缩)

  • 支持请求回调,直接返回对象、对象集合

  • 支持session的保持

4、使用OkHttp

(1)pom依赖

		<!-- http客户端 -->
		<dependency>
			<groupId>com.squareup.okhttp3</groupId>
			<artifactId>okhttp</artifactId>
			<version>4.9.0</version>
		</dependency>

(2)配置类

/*
 * 配置类
 */
@Configuration
public class RestTemplateConfig {
    
    //注册RestTemplate
    @Bean
    public RestTemplate getRestTemplate() {
        return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
    }

}

配置类的作用是Spring容器中注入RestTemplate,待会儿要用它来发请求。

(3)测试

这是我在浏览器中通过url打开的页面:
在这里插入图片描述
url为:https://www.wmtxt.com/0/2/52543262.html

那么接下来使用java程序来请求这个url,测试类如下:

@SpringBootTest
public class TestOkHttp {
    
    @Autowired
    RestTemplate restTemplate;
    
    //测试okhttp客户端
    @Test
    public void testOkHttp() {
        //定义一个请求地址
        String dataUrl = "https://www.wmtxt.com/0/2/52543262.html";
        //使用RestTemplate发http请求
        Object obj = restTemplate.getForObject(dataUrl, java.lang.String.class);
        System.out.println(obj.toString());
    }

}

控制台输出的内容如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>章节目录 第3147章 太玄神剑_吞天龙王_无名小说网</title>
<meta name="keywords" content="章节目录 第3147章 太玄神剑,吞天龙王,玄幻小说,无名小说网" />
<meta name="description" content="无名小说网提供吞天龙王最新章节《章节目录  第3147章 太玄神剑》全文免费阅读,页面清爽无弹窗!" />
<link href="/17mb/style/style.css" rel="stylesheet" />
<script src="/17mb/script/common.js"></script>
<script src="/17mb/script/uaredirect.js"></script>
<script type="text/javascript">uaredirect("https://m.wmtxt.com/0/2/52543262.html");</script>
<script type="text/javascript">
<!--
var preview_page = "/0/2/52543261.html";
var next_page = "/0/2/";
var index_page = "https://www.wmtxt.com/0/2/";
var article_id = "2";
var chapter_id = "52543262";
function jumpPage() {
  var event = document.all ? window.event : arguments[0];
  if (event.keyCode == 37) document.location = preview_page;
  if (event.keyCode == 39) document.location = next_page;
  if (event.keyCode == 13) document.location = index_page;
}
document.onkeydown=jumpPage;
-->
</script>
</head>
<body>
<div class="main">
<div class="head">
    <div class="top"><script src="/17mb/script/base.js"></script>
        <div class="p2"><script>user()</script></div>
    </div>
    <div class="logo"><a href="/"><img src="/17mb/style/logo.png" alt="无名小说网" /></a></div>
    <div class="search">
        <form action="/modules/article/search.php" method="post">
            <input id="text1" type="text" name="searchkey" />
            <input id="text2" type="submit" value="点击搜索"/>
        </form>
    </div>
    <div class="dl_sj">
        <p class="sj"><i></i><a href="/user/mark/index.html">书架</a></p>
        <div class="clear"></div>
    </div>
</div>
<div class="nav">
    <ul>
        <li><a href="/">首页</a></li>
		<li><a href="/xuanhuan/1.html">玄幻小说</a></li>
		<li><a href="/xianxia/1.html">仙侠小说</a></li>
		<li><a href="/dushi/1.html">都市小说</a></li>
		<li><a href="/junshi/1.html">军史小说</a></li>
		<li><a href="/wangyou/1.html">网游小说</a></li>
		<li><a href="/kehuan/1.html">科幻小说</a></li>
		<li><a href="/kongbu/1.html">恐怖小说</a></li>
		<li><a href="/qita/1.html">其他小说</a></li>
		<li><a href="/paihang/allvisit_1.html">排行榜</a></li>
		<li><a href="/full.html">完结小说</a></li>
		<div class="clear"></div>
    </ul>
</div>
<div class="main_content">
    <div class="nr_input">
        <p class="nrset"><a href="/user/mark/add.html?novelid=2">加入书架</a></p>
        <div class="nrset">
            <a href="javascript:nrsetshow();" class="nrset_link">设置背景</a>
            <div id="nrset_show" class="nrset_show"><script src="/17mb/script/pagetop.js"></script></div>
        </div>
        <p class="nrset"><a href="/0/2/52543261.html">上一章</a></p>
        <p class="nrset"><a href="/0/2/">返回目录</a></p>
        <p class="nrset"><a href="/0/2/">下一章</a></p>
    </div>
    <div id="nr_content" class="nr_content">
        <div class="nr_title"><h3>章节目录 第3147章 太玄神剑</h3><span class="articletitle"> 作品:<a href="https://www.wmtxt.com/0/2/">吞天龙王</a></span></div>
        <div class="nr_page">
            <a href="/0/2/52543261.html">上一章</a>
            <a href="https://www.wmtxt.com/0/2/">返回目录</a>
            <a href="https://www.wmtxt.com/user/mark/add.html?novelid=2">加入书签</a>
            <a href="/0/2/">下一章</a>
        </div>
        <p class="backpic"></p>
        <div class="novelcontent">
            <p class="articlecontent" id="articlecontent">
                &nbsp;&nbsp;&nbsp;&nbsp;精彩阅读·尽在·无名小说网(<a href="http://www.wmtxt.com" target="_blank">www.wmtxt.com</a><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;药王谷之中,一股滔天气势,冲天而起!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;那股气势,直冲九天云霄之上,引发天地异象,更引来诸多大能的神念窥探。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;一时之间,药王谷,成为诸多大能关注的焦点!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而紧接着,一道身影,显露在众人眼前。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;正是李长空!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;天武仙尊,都不由得停下手来,目光遥望而去。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这一看,顿时心中惊诧不已。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“仙尊之境?”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“不,他还没有突破!”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;天武仙尊,更加心惊不已,虽然李长空还没突破,还没到达仙尊之境,可此刻给他的感觉,竟是比之大圆满仙尊,都不遑多让。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这可就太恐怖了!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;经历当初那一战,李长空的恐怖,他犹自铭记于心,哪怕是此刻,修为实力已经有了极大的提升,但内心深处,竟是有些许的惶恐。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“你终于舍得出现了吗?”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;太虚仙尊,则是眸光一凝。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;事实上,他也被李长空的惊人气势所震慑,但当他发现,李长空仍旧没有突破仙尊之境的时候,心中不由得稍稍镇定。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;只要还未曾突破,那他,便有胜算!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;李长空,目光扫视而来。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在太虚仙尊与天武仙尊身上,一一扫过。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;片刻之后,便是冷笑起来。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这番闭关修炼,他可是吞噬了诸多仙丹,药王所积累下来的仙丹,几乎被他吞噬一空。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如此庞大的能量,其实,完全是足以让他突破境界,到达仙尊之境,甚至是高阶仙尊之境都可期!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;不过,他没用来突破境界,因为他更希望,借助战斗的压迫,来让自己突破境界。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;炼化仙丹得到的所有能量,他都用来提升龙神不灭体,如今体内的混沌龙魂,已经多达七百二十道,凝聚七百二十道的不灭之光。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;比起之前,足足翻了一倍。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;战力的提升,可是比突破仙尊之境,更加惊人。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;所以他出关之际,方才能有如此惊人的异象显露。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如今,他正好需要一场战斗,需要实力强大的对手,来给予自己压力,好顺利地突破境界。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而太虚仙尊与天武仙尊的出现,时机太完美了,简直就是瞌睡了有人来送枕头。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;心念及此,看向太虚仙尊的目光,都变得柔和,嘴角微微上扬。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;看到李长空,竟露出如此表情,太虚仙尊,没来由地生出几分厌烦之心,神色更是变得冷厉许多。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他可是玄元仙宗宗主啊,乃是整个青云州的巨头,身份地位,何等尊贵!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而李长空,当初不过是玄元仙宗内的一名弟子,虽然天赋不凡,可与他这等巨头之间,有着巨大的差距。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;如今却被李长空给鄙夷了,他如何能忍!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;锵!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;当即,太虚仙尊身躯之上,涌动着道道的剑罡,凌厉的剑意,纵横天地之间。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;更有绝世剑虹,轰然斩落,向着李长空斩杀而去。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;剑威,震荡虚空,形成一股股的滔天剑势。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而在这一股剑势之下,药王不由得被震退,甚至感觉,体内气血,竟也被剑道气机所牵引,险些便遭受重创。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他这才知道,从一开始,这位玄元仙宗的宗主,已经留手了,根本没发挥出来多少的战力。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;直到如今,与主人一战,才是真正的实力啊!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他神色不由得黯然,论实力,与这等顶尖强者,差距还是十分巨大的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“哼!”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而李长空,则是冷哼一声。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;双手一捏,顿时仙诀涌现,凝结一道惊人仙印!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;赫然是玄武仙印!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;轰隆!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;那道玄武仙印,迎上了璀璨剑虹,绝世剑威爆发而出。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;顿时之间,那玄武仙印,应声而碎。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而滔天剑威,犹自镇杀而下。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“哼,区区玄武仙印,也想挡我剑威?”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;太虚仙尊,冷哼一声。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他的实力,可不是玄武所能比拟的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;身为宗主,自然有其过人之处。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;李长空不动声色,在那滔天剑威,即将降临自己身前之际,却是一拳打出。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;只见,这一拳打出,浩荡龙威,爆发而出。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;似乎随着这一拳打出的,还有道道的混沌祖龙的龙息!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;灼热气息,似乎要焚灭诸天!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;更有浩瀚无穷的混沌力量涌现。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;与这滔天剑威硬撼。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;李长空身影一动,破开璀璨剑芒,竟是径直向着太虚仙尊杀去。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他身如混沌祖龙,身躯之上,覆盖着道道龙鳞,金光闪闪,十分不凡。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;身后,甚至还显露一方混沌世界的虚影,那是混沌之力加持,形成的不凡异象。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;融合七百二十道龙魂,他的力量更加不凡,实力也越发的强大。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;单凭肉身力量,足以镇压一尊巅峰仙尊。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;当然了,太虚仙尊,也并非普通的巅峰仙尊所能比拟的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;尤其是手中的太玄神剑,更是绝品仙尊之宝,其威能,十分恐怖。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;太虚仙尊,神色微动,尽管内心震撼,但更多的,还是震怒。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;手中的太玄神剑,涌现滔天光芒。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;那道道光芒,十分不凡,蕴含着大道道则,剑意凌云!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;各种玄妙的力量浮现,加持神剑,一剑斩落,似乎乃是开天一剑。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;剑威迸发而出,天地震动,如同是绝世神剑,斩断仙路。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;嘭嘭嘭……<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在这一剑之下,李长空爆发出来的滔天凶威,竟是被尽数镇压。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;那太玄神剑上,无尽威能,何等玄奥!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;此刻,镇压李长空,甚至连是身后的混沌世界虚影,都一一破碎。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;而李长空也被这一剑给劈飞出去。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;身躯之上,竟是留下了一道血痕,鲜血长流。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;龙鳞都碎裂了!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;单凭太虚仙尊自身的实力,是无法做到如此地步的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;可加上太玄神剑,就能破开李长空的肉身防御!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这一剑,足以展现太虚仙尊的强悍之处。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;药王谷之中,人心震动。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他们之中,许多人,都并非真心臣服。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;此刻看到太虚仙尊,力压李长空,稳居上风,顿时人心动荡。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;只有药王,露出担忧之色。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;难道,连是主人都不敌太虚仙尊?<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他如今生死,都掌控在李长空之手,自然是希望李长空能取胜。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;“哈哈哈哈,不愧是宗主啊!”<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;天武仙尊,发出得意大笑。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;他看得清楚明白,但论实力而言,宗主并不比现在的他强多少。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;关键在于,宗主如今,有着太玄神剑在手,这件法宝,威能太强了!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;哪怕是此刻体内有着黑暗力量加持的他,都无法匹敌太玄神剑!<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;手机看书,尽在·无名小说手机版M.wmtxt.coM            </p>
        </div>
        <p class="backpic"></p>
        <div class="nr_page">
            <a href="/0/2/52543261.html">上一章</a>
            <a href="https://www.wmtxt.com/0/2/">返回目录</a>
            <a href="https://www.wmtxt.com/user/mark/add.html?novelid=2">加入书签</a>
            <a href="/0/2/">下一章</a>
        </div>
    </div>
</div>
<div class="footer">
    <div class="left">
        <div class="footernav">
            <p class="p2">本站所有小说为转载作品,所有章节均由网友上传,转载至本站只是为了宣传本书让更多读者欣赏。<br/>
                无名小说网(2018) <script>__17mb_beian();</script></p>
        </div>
    </div>
    <div class="right">
        <p><img src="/17mb/style/erweima.png" /></p>
    </div>
    <div class="clear"></div>
</div>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?973353ec29e3383b076236b4a742b4ed";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>

</div>
<script src="/17mb/script/pagebottom.js"></script>
<script type="text/javascript" src="/17mb/script/yuedu.js"></script>
<script>var lastread=new LastRead();lastread.set('21', '27926', '圣墟', '章节目录 第二章 后文明时代','辰东');__17mbSort(1);</script>
<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https'){
   bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  }
  else{
  bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
</body>
</html>

可以看到是原网页的内容,通过RestTemplate模板发请求获取到了网页全部内容。我也试过使用其他网站的url,但是有的返回是403Forbidden,不知道是什么原因,我猜是网站出于安全的考虑,拦截了有些请求,不解。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值