开头

关于 ANDROID 5.0-7.1.2 网络图标上的感叹号及其解决办法-狐狸的小小窝

HTTP状态码之204 No Content

原理

访问generate_204地址,如果得到状态码是204则网络畅通。

           如果不是,则需要认为需要登录

但是以下测试让我有点懵逼

测试

请自行下载curl工具

在未登录的情况下,我们访问generate_204地址试试,如:
C:\WINDOWS\system32>curl http://edge.microsoft.com/captiveportal/generate_204
<html>
<head>
<meta http-equiv="Cache-Control" contect="no-cache">
<meta http-equiv="Pragma" contect="no-cache">
<meta http-equiv="Expires" contect="0">
<script type="text/javascript">
location.replace("http://这里是WIFI登录地址");
</script></head><body>
</body></html>

C:\WINDOWS\system32>

发现可以直接得到跳转的地址(即WIFI Portal登录地址)

关于函数location.replace() 见: https://developer.mozilla.org/zh-CN/docs/Web/API/Location/replace

而登录WIFI之后,再访问204地址则是得到空内容

C:\WINDOWS\system32>curl http://edge.microsoft.com/captiveportal/generate_204

C:\WINDOWS\system32>

抓包结果

所以有没有人告诉我为什么访问204地址能得到登录地址呢?以下是Fiddler抓包内容

好像是直接返回带有302的状态码的响应报文(Response)?

那么它的实现原理应该就是拦截了未登录用户的所有http请求并返回302(HTTP重定向)?

试了一下未登录时curl baidu.com也是返回302,但是curl https://baidu.com却不返回,也就是说不能劫持https请求?

疑问:那204的https只是用来验证网络通畅性?http才能用来验证网络通畅性并登录?不清楚,这个得拿到源码才知道。

相关资料

可用的204地址有:

http://connect.rom.miui.com/generate_204

http://connectivitycheck.platform.hicloud.com/generate_204

http://edge.microsoft.com/captiveportal/generate_204

可能有用的资料:

https://gmd20.github.io/blog/Wifi热点强制登录认证页面captive portal相关资料

https://wenku.baidu.com/view/be00908884868762caaed57f.html

Captive Portal - 连接WiFi自动弹出认证页面

安卓O源码之http://androidxref.com/8.0.0_r4/xref/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java?a=true&h=

好像还有判断portal登陆是否支持https的代码,见

http://androidxref.com/8.0.0_r4/xref/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java#mUseHttps

的914行附近

WIFI Portal登录的更多相关文章

  1. server与Portal联合,portal许可过期无法登录。

    server与Portal联合,portal许可过期无法登录,怎样解除联合. 解决方案由峥姐友情提供~~ (1)删除有两种方式(①/②选其一即可): ①类似 链接ttps://sunl.esrichi ...

  2. 检測wifi是否须要portal验证 公共场所wifi验证

    何为wifi portal验证? 平时在商场,咖啡厅,银行等公共场所.我们手机提示:有可用WLAN.这些WIFI能够直接连接,不须要password,但须要我们手动在手机网页上进行验证,通常是输入一个 ...

  3. 微信公众平台开发(110) 微信连Wi-Fi

    关键字:微信公众平台 微信连Wi-Fi 微信 WiFi 硬件鉴权作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-wifi.html 微信连Wi- ...

  4. WiFi入口流量O2O微应用平台

    WiFi入口流量O2O微应用平台 随着智能手机一年比一年销量大好,传统的互联网的流量争夺战场已经转向了移动互联网,各大巨头纷纷出招,智能wifi路由器就是其中最重要的一块战略高地.所谓的智能路由器,解 ...

  5. 校园网通过路由器开WiFi

    闲话少说,为了在一个宿舍内达到一个网口N人上网目的,特地写一篇关于校园网通过路由器开wifi的文章,希望能帮助同学把wifi开起来,请看正文(操作以下步骤前建议先重置路由,也就是初始化复位): 一.一 ...

  6. wifi驱动总结(2)

    1.dhd_module_init(驱动模块初始化函数) → dhd_wifi_platform_register_drv(查找设备,注册驱动) → 1) wifi_ctrlfunc_register ...

  7. 微信连wifi认证

    官网 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444894086 https://blog.csdn.net/u0116 ...

  8. 新西兰天维网登录发送明文password

    新西兰比較有人气的华人社区站点是天维网(新西兰天维网),是这边华人用中文吐槽常常上的论坛,也是华人之间各种交易(比方买卖二手车)的集散地.上次非诚勿扰新西兰专场就是天维网承办的宣传和报名.来新西兰定居 ...

  9. 第14.18节 爬虫实战4: request+BeautifulSoup+os实现利用公众服务Wi-Fi作为公网IP动态地址池

    写在前面:本文相关方法为作者独创,仅供参考学习爬虫技术使用,请勿用作它途,禁止转载! 一. 引言 在爬虫爬取网页时,有时候希望不同的时候能以不同公网地址去爬取相关的内容,去网上购买地址资源池是大部分人 ...

随机推荐

  1. golang数据结构之单链表

    实现单链表的增删查改. 目录如下: singleLink.go package link import ( "fmt" ) //HeroNode 链表节点 type HeroNod ...

  2. 【STM32H7教程】第21章 STM32H7的NVIC中断分组和配置(重要)

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第21章       STM32H7的NVIC中断分组和配置( ...

  3. Linux系统管理图文详解超详细精心整理

    前言:带你遨游于linux系统管理知识的海洋,沐浴春日里的阳光,循序渐进,看完之后收获满满. 本次讲解基于linux(centos6.5)虚拟机做的测试,centos7估计以后有时间再更新啊. lin ...

  4. SQL语句--查找数据select

    查看全部数据库表参照地址:https://www.cnblogs.com/zhoulixiangblog/p/12078724.html 本文所用数据库表: prod_id vend_id prod_ ...

  5. 10-scrapy框架介绍

    Scrapy 入门教程 Scrapy 是用 Python 实现的一个为了爬取网站数据.提取结构性数据而编写的应用框架. Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 通 ...

  6. 踩过了这些坑,你真的懂python基础吗?

    一.浮点数的计算 思考1:打印结果是什么? a = 0.1 b = 0.2 c = 0.3 print(b == a + a) 思考2:打印结果是什么? a = 0.1 b = 0.2 c = 0.3 ...

  7. svn版本管理配置权限

    修改svn配置 编辑svnserve.conf文件 第19,20行删掉前面的#--意思就是打开 ancon-access = none  匿名用户不可读 auth-access = write 认证可 ...

  8. this泛指函数的上下文

    this泛指函数的上下文 当前函数运行的类型上下文.

  9. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?

    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...

  10. [转]The Regular Expression Object Model

    本文转自:https://docs.microsoft.com/en-us/dotnet/standard/base-types/the-regular-expression-object-model ...