ios – 如何从UIWebView检测身份验证质询?

ios – 如何从UIWebView检测身份验证质询?,第1张

概述我已经看到 many questions在您事先知道请求需要它们时询问(​​并回答)如何提供凭据. 当我加载请求身份验证质询的站点时(使用HTTP 401响应),我的UIWebViewDelegate只接收以下回调:webView:shouldStartLoadWithRequest:navigationType:有时webViewDidStartLoad :(如果我直接导​​航到站点,似乎会调用 我已经看到 many questions在您事先知道请求需要它们时询问(​​并回答)如何提供凭据.

当我加载请求身份验证质询的站点时(使用http 401响应),我的uiwebviewdelegate只接收以下回调:webVIEw:shouldStartLoaDWithRequest:navigationType:有时webVIEwDIDStartLoad :(如果我直接导​​航到站点,似乎会调用webVIEwDIDStartLoad:,如果我被重定向,似乎没有被调用.

通过重写 – [NSObject respondsToSelector:],uiwebviewdelegate接收一些对uiWebVIEw的调用:resource:canAuthenticateAgainstProtectionSpace:forDataSource:和uiWebVIEw:resource:dIDReceiveAuthenticationChallenge:fromDataSource :,这可能很有用,但当然那些是私有API,可能会得到我的app拒绝了.

我用嵌入式UIWebVIEws测试了一些不同的主流应用程序.到目前为止,只有Chrome正确处理这些身份验证挑战.我甚至设置了自己的服务器并验证了Chrome只有一次POST. Twitter和Tweetbot失败只是永远显示加载屏幕,就像我的.

除了使用第二个推测的NSURLConnection之外,还有另一种(可能非常Hacky)方法来检测这些身份验证挑战吗?如果我发出一个POST请求,那将会对所有内容进行双重POST,这很糟糕.

I’ve added a radar to request an enhancement to UIWebView for this.请复制它.

解决方法 Apple now has sample code that solves this problem.它看起来也是如何正确实现NSURLProtocol的最完整的文档. 总结

以上是内存溢出为你收集整理的ios – 如何从UIWebView检测身份验证质询?全部内容,希望文章能够帮你解决ios – 如何从UIWebView检测身份验证质询?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存