亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

URL編碼CFURLCreateStringByAddingPercentEscapes使用(ARC)

2019-11-14 20:22:11
字體:
來源:轉載
供稿:網友
 

URL 編碼:CFURLCreateStringByAddingPercentEscapes

 If you have tried to send any information using a GET web request, you would have come cross an annoying PRoblem, That annoying problem is making sure that the URL is corrently encoded.

  The issue is that by default most of these methods leave characters such as & = ? within a URL, as they are strictly speaking valid. The problem is that these characters have special meanings in a GET request, and will more than likely make your request invalid.

   也就是說,你提供的 URL 字符串 里面可能包含某些字符,比如‘$‘ ‘&’ ‘?’...等,這些字符在 URL 語法中是具有特殊語法含義的,

比如 URL :http://www.baidu.com/s?wd=%BD%AA%C3%C8%D1%BF&rsv_bp=0&rsv_spt=3&inputT=3512 

中 的 & 起到分割作用 等等,如果 你提供的URL 本身就含有 這些字符,就需要把這些字符 轉化為 “%+ASCII” 形式,以免造成沖突。

  這就引入:CFURLCreateStringByAddingPercentEscapes 函數。

  該函數將 將要添加到URL的字符串進行特殊處理,如果這些字符串含有 &, ? 這些特殊字符,用“%+ASCII” 代替之。

 

CFURLCreateStringByAddingPercentEscapes(   kCFAllocatorDefault,   (CFStringRef)parameter,  NULL,  

CFSTR(":/?#[]@!$&’()*+,;="),   kCFStringEncodingUTF8  );  

// 確定 parameter 字符串中含有:/?#[]@!$&’()*+,;= 這些字符時候,這些字符需要被轉化,以免與語法沖突,其中空格是默認被轉化的,所以沒有列出來    

 


例如: 建立一個 NSURL 的 category

@implementation NSURL (mm)
+ (NSURL *)URLWithBaseString:(NSString *)baseString parameters:(NSDictionary *)parameters{           NSMutableString *urlString =[NSMutableString string];   //The URL starts with the base string[urlString appendString:baseString];       [urlString appendString:baseString];    NSString *escapedString;       NSInteger keyIndex = 0;           for (id key in parameters) {               //First Parameter needs to be prefixed with a ? and any other parameter needs to be prefixed with an &       if(keyIndex ==0) { 

       CFStringRef encodedCFString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)[parameters valueForKey:key],nil,CFSTR("?!@#$^&%*+,:;='/"`<>()[]{}///| "),   kCFStringEncodingUTF8);

      escapedString = [[NSString alloc] initWithString:(__bridge_transfer NSString*) encodedCFString];
    [urlString appendFormat:@"?%@=%@",key,escapedString];                        }else{

       CFStringRef encodedCFString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)[parameters valueForKey:key],nil,CFSTR("?!@#$^&%*+,:;='/"`<>()[]{}///| "),   kCFStringEncodingUTF8);

      escapedString = [[NSString alloc] initWithString:(__bridge_transfer NSString*) encodedCFString];
      [urlString appendFormat:@"&%@=%@",key,escapedString]; 
    }
keyIndex++;

}
     return [NSURL URLWithString:urlString];
}

@end
復制代碼

調用測試:

    NSString * baseString = @"http://twitter.com/statuses/update.xml";    NSDictionary*dictionary=[NSDictionary dictionaryWithObjectsAndKeys:@"This is my status",@"status",@"meng ya", @"meyers",nil];    NSURL * url = [NSURL URLWithBaseString:baseString parameters:dictionary];    NSLog(@"the url : %@", url);

輸出:

the url : http://twitter.com/statuses/update.xml?status=This%20is%20my%20status&meyers=meng%20ya

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品97久久| 国内精品视频久久| 欧美激情中文字幕乱码免费| 俺也去精品视频在线观看| 北条麻妃99精品青青久久| 亚洲国产欧美一区二区三区久久| 日日噜噜噜夜夜爽亚洲精品| 中文字幕av一区二区| 国产丝袜视频一区| 一本色道久久综合狠狠躁篇的优点| 中日韩午夜理伦电影免费| 18久久久久久| 欧美日韩xxx| 精品亚洲精品福利线在观看| 中文字幕亚洲情99在线| 日韩精品免费观看| 国产视频亚洲视频| 91福利视频在线观看| 成人欧美在线视频| 国产精品99导航| 国产精品一区二区性色av| 亚洲欧美日韩一区二区三区在线| 成人写真福利网| 欧美日韩激情视频| 欧美一级大片在线免费观看| 欧美激情精品在线| 另类色图亚洲色图| 91精品啪aⅴ在线观看国产| 国产欧美中文字幕| 日韩av色在线| 国产精品视频大全| 91丝袜美腿美女视频网站| 97视频在线免费观看| 精品久久香蕉国产线看观看亚洲| 国产精品成人va在线观看| 久久久女女女女999久久| 97视频在线播放| 亚洲精品久久久久久久久久久久| 91视频-88av| 久久久久久亚洲| 在线视频中文亚洲| 欧美亚洲另类视频| 久久亚洲国产精品| 亚洲成在人线av| 欧美亚洲成人精品| 国产精品网红直播| 久久久亚洲精品视频| 国产精品视频专区| 亚洲无av在线中文字幕| 日韩中文字幕国产| 亚洲视频一区二区三区| 亚洲国产成人精品久久| 国产精品免费一区| 国产精品久久在线观看| 欧美色播在线播放| 成人黄色av播放免费| 91成人国产在线观看| 国产精自产拍久久久久久蜜| 在线国产精品视频| 国语对白做受69| 国产欧美在线看| 亚洲成人激情视频| 亚洲aⅴ日韩av电影在线观看| 亚洲国产天堂久久国产91| 2021国产精品视频| 国产精品美女久久久久av超清| 91精品久久久久久久久久久久久| 性欧美xxxx| 日韩av电影国产| 精品女同一区二区三区在线播放| 亚洲国产精品大全| 九九九久久国产免费| 国产精品免费久久久久影院| 国产精品第三页| 欧美高清视频一区二区| 97久久精品人人澡人人爽缅北| 91精品国产自产在线| 亚洲国产欧美在线成人app| 亚洲欧洲日产国码av系列天堂| 国产丝袜高跟一区| 一区二区三区视频免费| 欧美老少做受xxxx高潮| 在线午夜精品自拍| 亚洲一区二区自拍| 福利视频一区二区| 成人免费网站在线观看| 欧美激情一区二区三区成人| 国产精品毛片a∨一区二区三区|国| 国产成人在线精品| 欧美日韩一区二区免费在线观看| 95av在线视频| 亚洲高清av在线| 97视频在线观看播放| 成人国产精品色哟哟| 国产欧美精品va在线观看| 国内精品久久久久影院 日本资源| 亚洲欧美成人网| 欧美色另类天堂2015| 午夜精品国产精品大乳美女| 精品国产一区二区三区久久| 亚洲www在线| 国产第一区电影| 亚洲一级片在线看| 97国产在线视频| 久久久国产成人精品| 91产国在线观看动作片喷水| 91欧美精品午夜性色福利在线| 日韩电影大全免费观看2023年上| 国产成人鲁鲁免费视频a| 精品高清美女精品国产区| 欧美大尺度激情区在线播放| 国产在线拍偷自揄拍精品| 97在线观看免费高清| 2025国产精品视频| 亚洲视频第一页| 欧美成人精品一区二区三区| 日韩欧美999| 国产91露脸中文字幕在线| 国产成人精品日本亚洲专区61| 国产亚洲激情在线| 日本乱人伦a精品| 九九热最新视频//这里只有精品| 亚洲精品白浆高清久久久久久| 亚洲性无码av在线| 国产乱人伦真实精品视频| 亚洲精品欧美一区二区三区| 亚洲欧美在线看| 亚洲精品v欧美精品v日韩精品| 日韩欧美成人区| 亚洲男人天堂手机在线| 欧美疯狂xxxx大交乱88av| 久久久精品欧美| 中文字幕日韩精品在线观看| 国产成人精品久久久| 国产精品私拍pans大尺度在线| 亚州国产精品久久久| 69av成年福利视频| 国产在线日韩在线| 国产一区二区日韩精品欧美精品| 亚洲一区二区日本| 国产一区二区丝袜高跟鞋图片| 欧美色欧美亚洲高清在线视频| 亚洲视频一区二区| 亚洲www在线观看| 九九久久久久99精品| 欧美日韩高清在线观看| 中文字幕国产精品| 欧美成人激情在线| 国模叶桐国产精品一区| 国产亚洲视频中文字幕视频| 一区二区日韩精品| 在线精品91av| 国产丝袜高跟一区| 日本成人黄色片| 色吧影院999| 国内精品久久久久久影视8| 亚洲韩国欧洲国产日产av| 国模私拍视频一区| 久久精品久久久久电影| 亚洲福利视频久久| 亚洲国产精品中文| 久久伊人色综合| 色悠久久久久综合先锋影音下载| 亚洲国产成人在线播放|