10

我正在尝试访问 iPhone 应用程序中的一些网络服务。

如果我GET访问 .asmx 页面,我会按预期进行身份验证并获取 WSDL。

但是,如果我POST进入 .asmx 页面,设置 SOAPAction、Content-Type、Content-Length 和 HTTPBody,我只会不断收到didReceiveAuthenticationChallenge消息。

此外,我正在尝试使用集成 Windows 身份验证 (IWA) 发布到 IIS,这意味着我正在尝试协商 NTLM 质询。

4

2 回答 2

12

不幸的是,我找到了答案。NSURLConnection 无法进行 NTLM 身份验证。这是一篇关于如何使用 CFNetwork 堆栈进行 NTLM 身份验证的文章。

通过 CFNetwork 堆栈的 HTTP Post

找到了比做所有这些乏味的事情更好的东西:已经做过的人!
ASIHTTP请求

更新: iOS 4有一个解决方法,允许再次进行 NTLM 身份验证

于 2009-03-11T15:44:24.667 回答
2

在我看来,您的网络服务具有不同的读取(获取)和写入(发布)权限。我认为这根本不是 iPhone 或 NSURLConnection 的问题。

于 2009-03-10T05:22:06.043 回答