- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 webview 加载网站。我设法运行了这些应用程序。但我的问题是,如果我传递了错误的密码,我将无法加载网站,它只会显示白屏。
如果我传递正确的用户名/密码,它将加载该网站。有没有办法处理我的身份验证用户名/密码正确或错误?
我正在使用这段代码。
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodNTLM])
{
NSURLCredential *credentail = [NSURLCredential
credentialWithUser:@"username"
password:@"Password"
persistence:NSURLCredentialPersistenceForSession];
[[challenge sender] useCredential:credentail forAuthenticationChallenge:challenge];
}}
正确的用户名和密码包含在上面的代码中。如果我将用户名更改为“user”或密码更改为“pass”,我将无法加载该网站。如何捕获身份验证错误?
谢谢。
最佳答案
我刚找到。只需要再添加 1 个验证。 [[challenge previousFailureCount] == 0. 这是代码。
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
//receive a authenticate and challenge with the user credential
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodNTLM] &&
[challenge previousFailureCount] == 0)
{
NSURLCredential *credentail = [NSURLCredential
credentialWithUser:@"username"
password:@"password"
persistence:NSURLCredentialPersistenceForSession];
[[challenge sender] useCredential:credentail forAuthenticationChallenge:challenge];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error Message" message:@"Invalid credentails" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
谢谢。 :)
关于ios - UIWebview didReceiveAuthenticationChallenge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702240/
我正在使用 webview 加载网站。我设法运行了这些应用程序。但我的问题是,如果我传递了错误的密码,我将无法加载网站,它只会显示白屏。 如果我传递正确的用户名/密码,它将加载该网站。有没有办法处理我
如果网站不需要身份验证,我的代码可以正常工作,如果需要,则在打印“已创建凭据”后会立即出现 EXC_BAD_ACCESS 错误。我不会发布任何内容,并且此代码是直接从文档中复制的 - 知道出了什么问题
我有一个 UIWebView 去一个有登录按钮的网站。按下登录按钮后(例如在 Safari 中),它会提示登录,然后调用通过 AD 进行身份验证的 Web 服务并让用户登录。我试图让它在我的 UIWe
我正在使用 NSURLConnection 连接到服务器。服务器要求我使用委托(delegate)方法进行基本身份验证:-didReceiveAuthenticationChallenge。但这只会被
我按下按钮调用波纹管按钮 Action 函数 - (IBAction)buttonAction:(UIButton *)sender { NSURL *URL = [NSURL URLWith
我正在使用 Certificate and Public Key Pinning 的 OWASP 示例.该示例使用 random.org , 和 random.org最近拿到了新证书。这意味着 con
我正在使用 NSURLConnection 的 sendSynchronousRequest 与服务器通信。我想处理可以使用连接委托(delegate)实现的身份验证,但不会为同步请求调用委托(del
我正在使用 WKWebview (iOS 9) 加载 https://self-signed.badssl.com/ 当委托(delegate) didReceiveAuthenticationCha
我们的应用程序通过 HTTPS 与服务器通信。我们想要在客户端重新验证 SSL 证书字段。例如我想在 HTTPS 连接期间验证服务器颁发的 SSL 证书的 CN 字段。有没有办法检索 didRecei
我一直很高兴地使用 WKWebView 来处理 iOS 8.x 中的 Instagram OAuth 隐式流程。但是,在 iOS 9 中,我的 WKWebView navigationDelegate
有什么办法可以抑制这种隐式身份验证对话吗? 我在调用 didRecieveAuthenticationChallenge 函数之前收到此对话。我无法理解的是,如果我自己处理身份验证,为什么会出现此对话
我是 iOS 开发新手。我有一个项目,我必须使用 WKWebView 而不是 UIWebView。它是一个简单的网页,带有 javascript 到 Objective-C 和其他集成方式。它工作正常
我正在尝试从安全的 restful 服务中获取数据。我关注许多其他帖子以及 How to use NSURLConnection to connect with SSL for an untruste
我在 iOS 编程中遇到一些身份验证问题。我有一个代码可以完美地针对 Windows 2003 上的 IIS6,但不适用于带有 IIS7 的 Windows Server 2008。两台服务器上的安全
func webView(webView: WKWebView, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationCha
我有一个受摘要保护的 REST API。我想下载我的 JSON 响应,但首先我必须针对其余 api 进行身份验证。 我正在使用 sendAsynchronousRequest:queue:comple
我设置了一个简单的 NSURLConnection 来查询 http 服务器。 GET /path HTTP/1.1 Host: 192.168.1.161:8282 User-Agent: NetT
我需要使用 NSURLConnection 类处理 http 身份验证 (401),因此我实现了“connection:didReceiveAuthenticationChallenge:”委托(de
我是一名优秀的程序员,十分优秀!