2012-03-07 22 views
0

私はURLにパラメータを投稿する必要があります。私はそれをエスケープする必要があるので、 "=" charを持つパラメータを持っています。ここでは、私が客観的にしていることを付け加えます。NSMutableURLRequest with "=" char with parameters

for (NSString* key in json) { 
    NSString *current = [NSString stringWithFormat:@"&%@=%@",key,[json objectForKey:key]]; 
    [post appendString: current]; 

} 
//so post has this style: "&password=eodhxgkpo=&usuario=user1"  
NSURL *urlObj = [NSURL URLWithString: itemAddress]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: urlObj]; 
NSData *requestData = [NSData dataWithBytes:[post UTF8String] length:[post length]]; 
[request setHTTPMethod: @"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPBody: requestData]; 

[webView loadRequest: request]; 

パスワードが「=」の場合、この同じコードが機能します。だから、この種の文字をエスケープする方法はありますか?

は、あなたの助けのための

おかげで(コンテンツ・タイプは、 "アプリケーション/ x-www-form-urlencodedで" である必要があります)

ダニーロ

答えて

1

あなたは、URLのエスケープコードのリストを持っていますここではあなたが脱出のため%の3Dを使用する必要が

http://www.december.com/html/spec/esccodes.html

=

希望すると助かります!

+1

のようなものを試してみては...感謝を働きました!私はまた、問題を解決するために使用したコードを示すブログ記事を書きました:http://ddelizia.blogspot.com/2012/03/ios-dev-post-parameters-to-url-with.html – ddelizia

0

このソリューション

// path is a NSString 
NSURL* url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];