2012-01-27 62 views
2

如何在用戶名中發送包含@字符的url請求?
目前我的URL請求的代碼如下所示:如何在用戶名中發送NSURL請求包含@@

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://[email protected]:[email protected]"]]; 

上面的代碼是從example.com與用戶取出由網站exam.com而不是example.com

我怎樣才能獲取數據的數據@ exam.com作爲用戶名稱和pwd作爲密碼?

我試圖轉義序列如\逃脫@字符,但仍然無法正常工作。

+0

你試圖URL編碼第一@到%40? – dom 2012-01-27 13:51:33

回答

2

總是從他們作出NSURL之前你參數編碼

NSString * encodedUsername = (NSString *)CFURLCreateStringByAddingPercentEscapes(
    NULL, 
    (CFStringRef)unencodedUsername, 
    NULL, 
    (CFStringRef)@"!*'();:@&=+$,/?%#[]", 
    kCFStringEncodingUTF8); 
0

你可以用它來生成一個URL之前像下面編碼字符串:

NSString * encodedString = [q stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 

NSURL *requestURL = [NSURL URLWithString:encodedString]; 
相關問題