溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-09-27 10:01:25 來源:億速云 閱讀:215 作者:小新 欄目:編程語言

這篇文章主要介紹Java如何獲取網(wǎng)絡(luò)302重定向URL的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

方法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   目標網(wǎng)頁的絕對地址   */  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;  }

以上是“Java如何獲取網(wǎng)絡(luò)302重定向URL的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI