当前位置:  开发笔记 > 前端 > 正文

NSURLConnection委托在服务器状态401上没有获得其didReceiveAuthenticationChallenge方法

如何解决《NSURLConnection委托在服务器状态401上没有获得其didReceiveAuthenticationChallenge方法》经验,为你挑选了1个好方法。

我已经设置了一个简单的NSURLConnection来查询http服务器.

GET /path HTTP/1.1
Host: 192.168.1.161:8282
User-Agent: NetTest1.0 CFNetwork/441.0.2 Darwin/9.6.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Pragma: no-cache
Connection: keep-alive

服务器使用代码401和WWW-Authenticate标头集进行响应

HTTP/1.1 401
Connection: close
Pragma: no-cache
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-control: no-cache
Cache-last-checked: Thu, 01 Dec 1994 16:00:00 GMT
Last-modified: Tue, 07 Apr 02009 22:55:48 CEST
Content-type: text/html; charset=iso-8859-1
WWW-Authenticate: Basic realm:

我想这会向我的委托的连接发送一条消息:didReceiveAuthenticationChallenge:方法,但事实并非如此.

我也实施了

- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection {
  return FALSE;
}

只是为了确保它不会尝试从我的钥匙串发送缓存的凭据,而不是.



1> dstnbrkr..:

WWW-Authenticate标头看起来格式不正确,请尝试:

WWW-Authenticate: Basic realm="My Realm"

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有