@@ -289,11 +289,11 @@ - (NSString *)queryStringFromParameters:(NSDictionary *)parameters
289289 [parameters enumerateKeysAndObjectsUsingBlock: ^(NSString *key, id value, BOOL *stop) {
290290 if ([value isKindOfClass: [NSArray class ]]) {
291291 for (id element in value) {
292- [self appendKeyValueToString: queryString withKey: key value: [element description ]];
292+ [self appendKeyValueToString: queryString withKey: key value: [element description ] percentEncoding: NO ];
293293 }
294294 }
295295 else {
296- [self appendKeyValueToString: queryString withKey: key value: [value description ]];
296+ [self appendKeyValueToString: queryString withKey: key value: [value description ] percentEncoding: NO ];
297297 }
298298 }];
299299 [queryString deleteCharactersInRange: NSMakeRange (queryString.length - 1 , 1 )];
@@ -321,11 +321,11 @@ - (NSData *)bodyDataFromParameters:(NSDictionary *)parameters requestType:(STHTT
321321 [parameters enumerateKeysAndObjectsUsingBlock: ^(NSString *key, id value, BOOL *stop) {
322322 if ([value isKindOfClass: [NSArray class ]]) {
323323 for (id element in value) {
324- [self appendKeyValueToString: bodyString withKey: key value: [element description ]];
324+ [self appendKeyValueToString: bodyString withKey: key value: [element description ] percentEncoding: YES ];
325325 }
326326 }
327327 else {
328- [self appendKeyValueToString: bodyString withKey: key value: [value description ]];
328+ [self appendKeyValueToString: bodyString withKey: key value: [value description ] percentEncoding: YES ];
329329 }
330330 }];
331331 [bodyString deleteCharactersInRange: NSMakeRange (bodyString.length - 1 , 1 )];
@@ -365,9 +365,13 @@ - (NSData *)formDataFromParameters:(NSDictionary *)parameters datas:(NSDictionar
365365 return formData;
366366}
367367
368- - (void )appendKeyValueToString : (NSMutableString *)string withKey : (NSString *)key value : (NSString *)value
368+ - (void )appendKeyValueToString : (NSMutableString *)string withKey : (NSString *)key value : (NSString *)value percentEncoding : ( BOOL ) percentEncoding
369369{
370- [string appendFormat: @" %@ =%@ &" , key, [value stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
370+ if (percentEncoding) {
371+ key = [key stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
372+ value = [value stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
373+ }
374+ [string appendFormat: @" %@ =%@ &" , key, value];
371375}
372376
373377- (void )appendToFormData : (NSMutableData *)formData withKey : (NSString *)key value : (NSString *)value
0 commit comments