使用基本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不是很难使用 - 并且具有异步的优势。
谢谢,非常感谢。 – fuzzygoat 2012-02-27 18:51:07