网络请求拦截302跳转,获取Location

简介: 网络请求拦截302跳转,获取Location

最近在做无线WiFi的时候,有这样一个需求,当手机连接上无线WiFi时,随意访问一个url就能够

跳转到认证登录页面,在这个过程中,实际上是先触发了AC的一个302重定向,然后才返回访问的(location)网址网页,我现在要在app上拿到这个302的重定向网址(Location),我应该怎么实现呢,这个问题困扰了小白不少时间,也是因为自己没弄明白这个原理,后来终于找到了方法,这里记录一下:


1、通过HttpURLConnection拦截得到302的跳转地址  


            String url = "";  
            System.out.println("访问地址:" + url);  
            URL serverUrl = new URL(url);  
            HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();  
            conn.setRequestMethod("GET");
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            // 必须设置false,否则会自动redirect到Location的地址  
            conn.setInstanceFollowRedirects(false);  
            //获取Location地址
            String location = conn.getHeaderField("Location");


2、通过HttpClient4.5 阻止Url重定向方法

            RequestConfig config = RequestConfig.custom().setRedirectsEnabled(false).build();//不允许重定向  
            CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(config).build();  
            //使用httpClient处理请求  
            HttpResponse response = httpClient.execute(new HttpGet("http://...."));​  



3、AsyncHttpClient 中的重定向和 setEnableRedirects 方法异常解决

  http://blog.csdn.net/zhouzme/article/details/20400673


4、使用OkHttp进行重定向拦截处理

  https://www.jianshu.com/p/d04bfd6b6146

  http://www.apkbus.com/blog-927424-76833.html



相关文章
|
6天前
|
JSON 监控 网络安全
使用Perl编写的上网监控管理软件:网络数据包拦截与分析功能
网络安全一直是互联网时代的重要议题之一。随着网络技术的不断发展,网络攻击和数据泄露等问题也变得日益严重。为了有效监控和管理网络流量,开发了一款基于Perl语言的上网监控管理软件,该软件具有强大的网络数据包拦截与分析功能,能够帮助网络管理员实时监控网络流量,并及时发现和应对各种网络安全威胁。
171 0
|
8月前
|
缓存 JSON JavaScript
Vue组件生命周期及网络请求拦截
Vue组件生命周期及网络请求拦截
87 0
|
Java Android开发 Python
网络请求异常拦截优化
目录介绍 01.网络请求异常分类 02.开发中注意问题 03.原始的处理方式 04.如何减少代码耦合性 05.异常统一处理步骤 06.完成版代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇...
1350 0
|
4天前
|
运维 网络协议 Linux
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
|
6天前
|
网络协议 Linux 网络架构
|
6天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
24 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
14 0
|
6天前
|
存储 网络协议 算法
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
16 0

热门文章

最新文章