Java 获取网络302重定向URL的方法
2019-10-14 18:07
1836 查看
方法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<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中最常用的方法,感谢大家对脚本之家的支持。
相关文章推荐
- Java 获取网络重定向文件的真实URL
- Java/Android 获取网络重定向文件的真实URL
- Java/Android 获取网络重定向文件的真实URL的示例代码
- paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
- paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
- Java 获取网络重定向URL
- JAVA方法中通过调用URL来获取其返回的内容
- Java访问网络url,获取网页的html代码
- apache httpclient 获取重定向之后的url方法
- Java 网络 URL 从网页上获取数据
- Java io字符写入 下载网络文件 获取url文件
- java后台jsp Request获取url信息的各种方法比较
- URL转Drawable之 Android中获取网络图片的三种方法
- 优酷网网络流播放地址url的获取新方法
- PHP获取重定向URL的几种方法
- iOS获取本地视频和网络URL视频的缩略图方法
- Java获取此次请求URL以及服务器根路径的方法
- url获取网络图片类的创建方法
- Java网络编程从入门到精通(28):获取ServerSocket信息的方法及FTP原理 推荐
- java网络编程根据域名获取ip地址,URL