【问题标题】:Detect whether UIWebView needs to use HTTP or HTTPS检测 UIWebView 是否需要使用 HTTP 或 HTTPS
【发布时间】:2011-11-04 22:26:02
【问题描述】:

如何检测 UIWebView 中的网页是否需要使用 HTTP 或 HTTPS?我有一个地址栏,用户可以在其中输入“www.apple.com”,然后我将其转换为前面带有 http:// 的 NSString。如果 Apple.com 需要 HTTPS,那将如何处理?我究竟应该怎么做?感谢您的帮助!

【问题讨论】:

    标签: iphone objective-c ios ipad uiwebview


    【解决方案1】:

    在大多数情况下,需要 HTTPS 的网站设置为自动重定向到正确的 SSL 端口。一般是这样的:

    1. 在您的网络浏览器中输入 URL http://www.mysite.com/。因为没有指定端口,所以它会尝试将默认端口 80 用于 HTTP。
    2. 站点在端口 80 上接收到请求并确定您需要使用 SSL,因此它将重定向响应发送回浏览器。该重定向响应通常会告诉您的浏览器在标准 HTTPS 端口 (443) 上使用 HTTPS 重试。
    3. 您的浏览器重新发起对 HTTPS 端口的请求。

    因此,在绝大多数情况下,您不需要知道是否需要 HTTPS。只需使用 http 访问该站点。如果它需要 HTTPS,它几乎总是会自动将您重定向到那里。

    【讨论】:

    • 嗨,蒂姆,如果您的服务器是 IIS,并且需要用户在重定向到默认页面后进行身份验证,该怎么办。如果我的服务器的 url 是 mysite.com 需要 NTLM 身份验证,并且一旦用户通过身份验证,它将用户重定向到 mysite.com/default.aspx。在这种情况下,如果我从输入 mysite.com 开始,连接仍会要求身份验证质询一次,但在对用户进行身份验证后,它只会将请求重定向到等效的 https,而无需进一步重定向。
    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 2016-09-15
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多