Creating URL query parameters from NSDictionary objects in ObjectiveC

来源:互联网 发布:58群发软件 编辑:程序博客网 时间:2024/05/29 04:34

////  Http.m//  test////  Created by robin on 14-4-4.//  Copyright (c) 2014年 robin. All rights reserved.//#import "Http.h"@implementation Http//  参数URL加密+(NSString*)urlEscape:(NSString *)unencodedString {    NSString *s = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,                                                                                        (CFStringRef)unencodedString,                                                                                        NULL,                                                                                        (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",                                                                                        kCFStringEncodingUTF8));    return s;}// 把参数放到URL尾部+(NSString*)addQueryStringToUrl:(NSString *)url params:(NSDictionary *)params {    NSMutableString *urlWithQuerystring = [[NSMutableString alloc] initWithString:url];    // 转换参数    if (params) {        for(id key in params) {            NSString *sKey = [key description];            NSString *sVal = [[params objectForKey:key] description];            // 需要添加 add ?k=v or &k=v ?            if ([urlWithQuerystring rangeOfString:@"?"].location == NSNotFound) {                [urlWithQuerystring appendFormat:@"?%@=%@", [Http urlEscape:sKey], [Http urlEscape:sVal]];            } else {                [urlWithQuerystring appendFormat:@"&%@=%@", [Http urlEscape:sKey], [Http urlEscape:sVal]];            }        }    }    return urlWithQuerystring;}@end


For Example:


NSDictionary *params = @{@"params1":@"params", @"params2":@"paramswww"}; NSString *urlWithQuerystring = [self addQueryStringToUrl:@"https://www.baidu.com/login" params:params];



0 0
原创粉丝点击