Java实现还原微博短链接
生活随笔
收集整理的這篇文章主要介紹了
Java实现还原微博短链接
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
依賴
<!-- 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();//如果短鏈接指向的是微博內(nèi)部地址,這一步已經(jīng)拿到真實地址realURL = response.request().url().toString();//如果是外鏈則拿到的和原地址相同,此時response拿到的是一個網(wǎng)頁,需要從中獲取到真實地址if (realURL.equals(url)) {String body = new String(response.body().bytes());//這里body拿到的是一串html代碼 有用的部分在這里 你可以選擇用Jsoup解析或者自己截取字符串 // <div class="wrap"> // <p class="desc">如需瀏覽,請長按網(wǎng)址復(fù)制后使用瀏覽器訪問</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;}總結(jié)
以上是生活随笔為你收集整理的Java实现还原微博短链接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习算法系列之K近邻算法
- 下一篇: java11 http正式_Java11