使用 HttpClient 4 通过 WiFi 进行 HTTPS 身份验证
Posted
技术标签:
【中文标题】使用 HttpClient 4 通过 WiFi 进行 HTTPS 身份验证【英文标题】:HTTPS authentication over WiFi using HttpClient 4 【发布时间】:2009-07-09 23:17:10 【问题描述】:我有 android 宠物项目 DroidIn,它利用 HttpClient 4(内置于 Android)进行一些基于表单的身份验证。我开始注意到使用 WiFi 的人报告了连接问题。它也无助于我正在访问的站点具有自分配证书。好吧 - 问题是(我对 WiFi 细节很模糊)如果热点上的 WiFi 不支持 HTTPS,那将是连接失败的充分理由,除了使用代理到另一个应用服务器之外,我还能做些什么那么 HTTP 会调用 HTTPS 站点吗?
【问题讨论】:
【参考方案1】:我在我的 Air 应用程序中遇到了同样的问题。它被称为 Postal,一个针对巴西服务的邮件跟踪应用程序。 (如果您在 wifi 中尝试并反馈给我,我将不胜感激)。 它总是在 2G/3G 上工作,但在连接到 Wi-Fi 时很少工作。除了AIR APPS,其他一切都有效!有时它有效,有时它不在同一个电话和/或接入点中。当它不工作时,任何其他 AIR 应用程序也不能工作。
即使是 Tour de Flex Mobile AMF Remoting 测试应用程序也停止工作。
HTTPRequests 或 AMF Remoting 都不起作用。它只是给出错误 404 - 找不到页面。
这不是路由器的问题,因为有时它可以工作。我相信这是 AIR 中的一个问题,当活动的网络适配器发生变化时,它一直在尝试通过 2G/3G。这是 Adobe 应该考虑的事情。
【讨论】:
【参考方案2】:wifi 只是一个低级协议,您正在处理不知道 wifi 的 HTTP 和 TCP/IP。 所以你可以忽略你正在使用wifi的事实,只需尝试查看服务器是否可以从客户端访问。 (在默认为 443 的 https 端口上尝试 telnet)
【讨论】:
我明白了。但这里有一个问题:网站可以从同一设备访问 G1) 当使用网络浏览器和应用程序在同一位置使用直接 LAN 的模拟器时工作正常。【参考方案3】:wifi 可能会阻塞 443 端口 - 但我会感到惊讶,因为 https 是标准用户非常常用的协议。如果被阻止,那可能是您的问题。 slmix 的答案会检测到这种情况 - 但由于您不在客户端,因此运行该 telnet 可能不切实际(即使 android 支持它)。
【讨论】:
请注意,Android 上有免费的应用程序 (connectbot) 可以执行完整的 SSH。相当令人印象深刻。报告问题的用户告诉我,他可以通过与我的应用在同一部手机上运行的设备浏览器访问移动网站以上是关于使用 HttpClient 4 通过 WiFi 进行 HTTPS 身份验证的主要内容,如果未能解决你的问题,请参考以下文章