- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到的情况是,我在公司网络上有一个无线接入点,需要安全登录才能访问网络。在约 30 分钟的空闲时间后,它将提示用户重新进行身份验证。
在我的应用程序中(使用改造 + okhttp),“您的 session 已超时”显示为“java.io.IOException:主机名‘example.com’未验证”异常。仔细检查表明正在根据无线接入点的证书验证“example.com”,并且与该证书关联的唯一有效域是接入点的域 (securelogin.arubanetworks.com)。这就是触发异常的原因。如果我离开应用程序,启动浏览器,使用接入点重新验证并返回到应用程序,我仍然会遇到相同的主机名未验证问题。这给我留下了两个问题:
1) 除了等待和处理 IOException 之外,是否有更好的方法来检测这种超时情况?
2) 一旦 session 超时,我似乎无法让 http 客户端停止尝试根据访问点证书验证主机名。一旦用户重新验证(通过浏览器),有没有办法在不重启应用的情况下恢复?
最佳答案
没有很好的方法来处理强制访问点。我能想到的最好办法是在已知 HTTP 地址 ( http://somedomainyoucontrol.com ) 托管已知内容,并查看对该域的 HTTP 请求是否被重定向到域外。这似乎是 Mac OS X 为检测强制接入点所做的工作;它使用 apple.com 上的一个页面。
我怀疑这是一个 DNS 缓存,而不是 HTTP 客户端,这让您对重新尝试感到悲伤。一旦 SSL 握手失败,HTTP 客户端将不会保持连接。您需要配置强制门户的 DNS 以设置非常短的 TTL。
关于安卓 : Wireless access point session timeout and HostnameValidation errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138208/
我遇到的情况是,我在公司网络上有一个无线接入点,需要安全登录才能访问网络。在约 30 分钟的空闲时间后,它将提示用户重新进行身份验证。 在我的应用程序中(使用改造 + okhttp),“您的 sess
我是一名优秀的程序员,十分优秀!