当前位置: 首页 > backend >正文

Java实现还原微博短链接

依赖

<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp --><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.8.1</version></dependency><!--  可选 用来解析html代码   --><dependency><!-- jsoup HTML parser library @ http://jsoup.org/ --><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.10.2</version></dependency>

核心代码

/*** 获取真实地址** @param url 短链接* @return 真实地址*/private static String getRealURL(String url) {String realURL = null;try {OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().url(url).build();Response response = client.newCall(request).execute();//如果短链接指向的是微博内部地址,这一步已经拿到真实地址realURL = response.request().url().toString();//如果是外链则拿到的和原地址相同,此时response拿到的是一个网页,需要从中获取到真实地址if (realURL.equals(url)) {String body = new String(response.body().bytes());//这里body拿到的是一串html代码 有用的部分在这里 你可以选择用Jsoup解析或者自己截取字符串
//                <div class="wrap">
//                <p class="desc">如需浏览,请长按网址复制后使用浏览器访问</p>
//                <p class="link">https://********/</p>
//                </div>//Jsoup解析Document document = Jsoup.parse(body);Element link = document.getElementsByClass("link").get(0);realURL = link.text();//截取字符串
//                int start = body.indexOf("<p class=\"link\">") + 16;
//                int end = body.indexOf("</p>", start);
//                realURL = body.substring(start, end);}response.close();} catch (IOException e) {e.printStackTrace();}return realURL;}
http://www.xdnf.cn/news/11258.html

相关文章:

  • MySQL四种方法实现merge into
  • IDEA插件系列(72):activate-power-mode插件——激活电源模式
  • 电脑操作系统维护10条实用建议
  • IT公司
  • C语言基本数据类型
  • 视频压缩编码标准,深入浅出,图文并茂
  • BootCamp支持软件4/5
  • 热插拔技术(番外)
  • 认识OJ(Online Judge)
  • Attribute特性定义及应用
  • 泛微e-office系统存在SQL注入漏洞
  • DFS(小白式超详细讲解以及代码讲解)
  • webpack之『使用横幅 Plugin』
  • ColorImpact v2.8.1.378 汉化注册版
  • libnet的使用详解
  • 高瓴张磊入籍新加坡,这代表了什么?
  • 各种Java加密算法-非对称加密
  • Ubuntu 12.04 常用软件
  • 在32位机器上实现64位数的除法
  • OpenCore黑苹果引导配置说明第九版-基于OpenCore-0.6.2-10-06-正式版
  • 免费收录网站搜索引擎登录口大全
  • Linux主机文件777,755,644权限详解
  • 启动应用程序出现COMDLG32.OCX找不到问题解决
  • Perl中的正则表达式
  • 什么是组态、组态的应用场景介绍
  • 4种吃子跳棋
  • 微信小程序自动化测试—自定义测试(Minium)
  • 富豪们的生活生活配置,豪宅搭配别墅泳池必不可少
  • tomcat点击startup.bat一闪而过
  • 嵌入式硬件入门——蜂鸣器