- (NSMutableDictionary *)getURLParameters:(NSString *)url
{
if ([url containsString:@"?"])
{
NSMutableDictionary *parametersDic = [NSMutableDictionary dictionary];
NSRange range = [url rangeOfString:@"?"];
/// 取出?后面的参数字符串
NSString *parametersString = [url substringFromIndex:range.location + 1];
if ([parametersString containsString:@"&"])
{
/// 多参
NSArray<NSString *> *parametersArr = [parametersString componentsSeparatedByString:@"&"];
[parametersArr enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSArray *pairComponents = [obj componentsSeparatedByString:@"="];
NSString *key = [[pairComponents firstObject] stringByRemovingPercentEncoding];
NSString *value = [[pairComponents lastObject] stringByRemovingPercentEncoding];
if (key && value)
{
[parametersDic setObject:value forKey:key];
}
}];
}
else
{
/// 单参
NSArray *pairComponent = [parametersString componentsSeparatedByString:@"="];
NSString *key = [[pairComponent firstObject] stringByRemovingPercentEncoding];
NSString *value = [[pairComponent lastObject] stringByRemovingPercentEncoding];
if (key && value)
{
[parametersDic setObject:value forKey:key];
}
else
{
return nil;
}
}
return parametersDic;
}
else
{
return nil;
}
}