要取到URL地址里面到QueryString,然后再取出QueryString里面的每个参数
1、可以使用 NSURLComponents
NSString *urlString = @"http://sso.qq.com:8088/login?code=b29eb6164d62d522ff09d64429a8e6a1&appid=12345&env=dev";
NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:urlString];
NSLog(@"%@",urlComponents.scheme);
NSLog(@"%@",urlComponents.user);
NSLog(@"%@",urlComponents.password);
NSLog(@"%@",urlComponents.host);
NSLog(@"%@",urlComponents.port);
NSLog(@"%@",urlComponents.query);
//包含query的各个参数
NSLog(@"%@",urlComponents.queryItems);
2、对URL字符串解析
-(NSDictionary *)paramDictWithUrlString:(NSString *)urlStr {
if (urlStr && urlStr.length && [urlStr rangeOfString:@"?"].length == 1) {
NSArray *array = [urlStr componentsSeparatedByString:@"?"];
if (array && array.count == 2) {
NSString *paramsStr = array[1];
if (paramsStr.length) {
NSMutableDictionary *paramsDict = [NSMutableDictionary dictionary];
NSArray *paramArray = [paramsStr componentsSeparatedByString:@"&"];
for (NSString *param in paramArray) {
if (param && param.length) {
NSArray *parArr = [param componentsSeparatedByString:@"="];
if (parArr.count == 2) {
[paramsDict setObject:parArr[1] forKey:parArr[0]];
}
}
}
return paramsDict;
}
else{
return nil;
}
}
else{
return nil;
}
}
else{
return nil;
}
}
本文介绍如何使用NSURLComponents从URL中解析QueryString及其中的参数。同时,提供了一个Objective-C方法,用于将URL字符串转换为包含参数的字典。
7208

被折叠的 条评论
为什么被折叠?



