Java如何获取网络302重定向URL的方法

这篇文章主要介绍Java如何获取网络302重定向URL的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

七星网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联公司自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

方法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:

/**   * 处理跳转链接,获取重定向地址   * @param url  源地址   * @return   目标网页的绝对地址   */  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 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如何获取网络302重定向URL的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站标题:Java如何获取网络302重定向URL的方法
分享链接:http://csdahua.cn/article/jieshh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流