如何从 ios 访问安全 url
Posted
技术标签:
【中文标题】如何从 ios 访问安全 url【英文标题】:How to access secured url from ios 【发布时间】:2011-10-06 14:10:50 【问题描述】:我正在尝试从 ios 访问安全 URL。基本上 url 会提示用户用户名和密码。如何从 ios 发送用户名和密码?
我的代码 这是我用来访问 JSON Parser 的方法
- (NSString *)stringWithUrl:(NSURL *)url
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:30];
// Fetch the JSON response
NSData *urlData;
NSURLResponse *response;
NSError *error;
// Make synchronous request
urlData = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
// Construct a String around the Data from the response
return [[[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding] autorelease];
- (id) objectWithUrl:(NSURL *)url
SBJsonParser *jsonParser = [[[SBJsonParser alloc]init] autorelease];
NSString *jsonString = [self stringWithUrl:url];
// Parse the JSON into an Object
return [jsonParser objectWithString:jsonString error:nil];
这是我在字典中检索 json 键的一段代码。
- (NSDictionary *) downloadFeed
id response = [self objectWithUrl:[NSURL URLWithString:@"http://mysite.com/Services/Secure.svc/GetList?id=2127"]];
NSDictionary *feed = (NSDictionary *)response;
return feed;
谁能告诉我在哪里可以将用户名和密码传递给这个网址?
【问题讨论】:
提示是什么意思?网站上的登录表单,或basic HTTP authentication? 基本 HTTP 身份验证,我更新了我的代码以获得更清晰的图片! 放在这里:http://user:passwd@mysite.com/...
【参考方案1】:
要么切换到ASIHTTPRequest
,它简单地处理基本身份验证,要么使用NSMutableRequest
并使用base64 编码的用户:密码对正确设置授权标头。
【讨论】:
我正在为我的登录控制器使用 ASIHTTPRequest。但我在登录后使用 JSON Parser。您是否认为在 url 上使用凭据不够安全?好吧,我将在发行版上使用 HTTPS! 我在哪里分配用户名和密码? NSURL *url = [NSURL URLWithString:@"http://@mysite.com/Services/Secure.svc/GetList?id=2127"]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [请求 setRequestMethod:@"GET"]; 安全是一个单独的讨论:-)。 request.username = @"用户"; request.password = @"密码"; - 还要设置一个标志,强制请求在 Authorization 标头中设置基本身份验证。 这是那个标志:request.authenticationScheme = (NSString *)kCFHTTPAuthenticationSchemeBasic;以上是关于如何从 ios 访问安全 url的主要内容,如果未能解决你的问题,请参考以下文章