要取到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;
}
}