使用基本HTTP身份验证访问Web服务器?

问题描述:

我目前正在使用下面的代码访问安全的Web服务器(工作正常)但是,有没有更好的方式来做到这一点,我只是使用基本的URL而不添加“uid”和“pwd”到服务器地址?我不确定此方法是否保持uid/pwd安全?使用基本HTTP身份验证访问Web服务器?

NSString *dataURL = @"http://myUID:[email protected]/api/temps/r1/degc" 
NSURL *url = [[NSURL alloc] initWithString:dataURL]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 

我会更好使用NSURLConnection,并与委托回调?

任何指针将不胜感激......

如果你这样做了HTTP,那么任何一个解决方案是不安全的。将它放在URL中会稍微差一些,因为URL往往会被记录到任何地方。

如果您关心安全性,请使用HTTPS和HTTP身份验证机制(基本没问题),以防止用户名/密码在网络上丢失。

您可以使用NSURLConnection上的didReceiveAuthenticationChallenge:useCredential: forAuthenticationChallenge:委托人提供身份验证参数。

NSURLConnection不是很难使用 - 并且具有异步的优势。

+0

谢谢,非常感谢。 – fuzzygoat 2012-02-27 18:51:07