最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 獲取網(wǎng)絡(luò)302重定向URL的方法

 更新時(shí)間:2019年08月29日 16:54:04   作者:Boblim  
在本篇文章里小編給大家整理的是關(guān)于Java 獲取網(wǎng)絡(luò)302重定向URL的方法以及相關(guān)知識(shí)點(diǎn),有興趣的朋友們參考下。

方法1:

import java.net.HttpURLConnection;
import java.net.URL;
 
import org.junit.Assert;
import org.junit.Test;
 
public class GetRedirectUrlTest {
  @Test
  public void test_getRedirectUrl() throws Exception {
    String url="http://www.baidu.com/link?url=ByBJLpHsj5nXx6DESXbmMjIrU5W4Eh0yg5wCQpe3kCQMlJK_RJBmdEYGm0DDTCoTDGaz7rH80gxjvtvoqJuYxK";
    String expectUrl="http://www.zhihu.com/question/20583607/answer/16597802";
    String redictURL = getRedirectUrl(url);
    Assert.assertEquals(expectUrl, redictURL);
  }
  
  /**
   * 獲取重定向地址
   * @param path
   * @return
   * @throws Exception
   */
  private String getRedirectUrl(String path) throws Exception {
    HttpURLConnection conn = (HttpURLConnection) new URL(path)
        .openConnection();
    conn.setInstanceFollowRedirects(false);
    conn.setConnectTimeout(5000);
    return conn.getHeaderField("Location");
  }
}

方法2:

/**
   * 處理跳轉(zhuǎn)鏈接,獲取重定向地址
   * @param url  源地址
   * @return   目標(biāo)網(wǎng)頁的絕對(duì)地址
   */
  public String getAbsUrl(String url){
    CloseableHttpClient httpclient = HttpClients.createDefault();
    HttpClientContext context = HttpClientContext.create();
    HttpGet httpget = new HttpGet(url);
    CloseableHttpResponse response = null;
    String absUrl = null;
    try {
      response = httpclient.execute(httpget, context);
      HttpHost target = context.getTargetHost();
      List<URI> redirectLocations = context.getRedirectLocations();
      URI location = URIUtils.resolve(httpget.getURI(), target, redirectLocations);
      System.out.println("Final HTTP location: " + location.toASCIIString());
      absUrl = location.toASCIIString();     
    }catch(IOException e){
      e.printStackTrace();
    }catch (URISyntaxException e) {     
      e.printStackTrace();
    }finally {
      try {
        httpclient.close();
        response.close();
      } catch (IOException e) {        
        e.printStackTrace();
      }
    }
    return absUrl;
  }

以上就是2中最常用的方法,感謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • java web開發(fā)之實(shí)現(xiàn)購物車功能

    java web開發(fā)之實(shí)現(xiàn)購物車功能

    這篇文章主要為大家詳細(xì)介紹了java web開發(fā)之實(shí)現(xiàn)購物車功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Java多線程之Future設(shè)計(jì)模式

    Java多線程之Future設(shè)計(jì)模式

    這篇文章主要介紹了Java多線程之Future設(shè)計(jì)模式,F(xiàn)uture 代表的是未來的一個(gè)憑據(jù),文章主要附上Future具體實(shí)現(xiàn)類、橋接Future和FutureTask的代碼,需要的朋友可以參考一下
    2021-10-10
  • 使用JPA雙向多對(duì)多關(guān)聯(lián)關(guān)系@ManyToMany

    使用JPA雙向多對(duì)多關(guān)聯(lián)關(guān)系@ManyToMany

    這篇文章主要介紹了使用JPA雙向多對(duì)多關(guān)聯(lián)關(guān)系@ManyToMany,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring Security 多過濾鏈的使用詳解

    Spring Security 多過濾鏈的使用詳解

    本文主要介紹了Spring Security 多過濾鏈的使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 如何在Springboot實(shí)現(xiàn)攔截器功能

    如何在Springboot實(shí)現(xiàn)攔截器功能

    其實(shí)spring boot攔截器的配置方式和springMVC差不多,只有一些小的改變需要注意下就ok了,下面這篇文章主要給大家介紹了關(guān)于如何在Springboot實(shí)現(xiàn)攔截器功能的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Spring超詳細(xì)講解事務(wù)

    Spring超詳細(xì)講解事務(wù)

    Spring事務(wù)的本質(zhì)就是對(duì)數(shù)據(jù)庫事務(wù)的支持,沒有數(shù)據(jù)庫事務(wù),Spring是無法提供事務(wù)功能的。Spring只提供統(tǒng)一的事務(wù)管理接口,具體實(shí)現(xiàn)都是由數(shù)據(jù)庫自己實(shí)現(xiàn)的,Spring會(huì)在事務(wù)開始時(shí),根據(jù)當(dāng)前設(shè)置的隔離級(jí)別,調(diào)整數(shù)據(jù)庫的隔離級(jí)別,由此保持一致
    2022-07-07
  • 解決java.util.HashMap$Values?cannot?be?cast?to?java.ut的問題

    解決java.util.HashMap$Values?cannot?be?cast?to?java.ut的問題

    這篇文章主要介紹了解決java.util.HashMap$Values?cannot?be?cast?to?java.ut的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java實(shí)現(xiàn)樹形菜單的方法總結(jié)

    Java實(shí)現(xiàn)樹形菜單的方法總結(jié)

    當(dāng)我們想要展示層級(jí)結(jié)構(gòu),如文件目錄、組織結(jié)構(gòu)或分類目錄時(shí),樹形菜單是一個(gè)直觀且有效的解決方案,本文為大家整理了java中幾種常見方法,希望對(duì)大家有所幫助
    2023-08-08
  • Java數(shù)據(jù)結(jié)構(gòu)之插入排序與希爾排序

    Java數(shù)據(jù)結(jié)構(gòu)之插入排序與希爾排序

    在本篇文章,我們將為小伙伴們進(jìn)行排序概念的基本講解并具體講解其中的兩種基礎(chǔ)排序:插入排序和希爾排序,希望小伙伴們能夠從中有所收獲
    2023-04-04
  • 淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?

    淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?

    這篇文章主要介紹了淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想小編過來看看吧
    2020-09-09

最新評(píng)論

汉沽区| 平泉县| 丹阳市| 盈江县| 江都市| 哈尔滨市| 剑河县| 公安县| 天祝| 黄浦区| 辽中县| 昌吉市| 广平县| 通江县| 友谊县| 安远县| 昌平区| 陆川县| 长顺县| 沛县| 龙游县| 中卫市| 绥阳县| 渭南市| 澄江县| 临桂县| 吴川市| 昌宁县| 德惠市| 河源市| 武平县| 梁河县| 北辰区| 兴化市| 广宁县| 江山市| 会泽县| 安西县| 宝兴县| 绥德县| 新民市|