2016-03-11 3 views
0

Я загружаю webView с внешними URL-адресами и сообщениями.кодирование символа '+' на NSURLRequest

Все работает нормально, если данные не содержат символ «+», тогда он не работает. Я пытался кодировать данные разными способами, но я не могу заставить его работать. Как правильно кодировать символ плюса?

-(void) cargarWebViewTPVRedys:(TPVRedsys*) redsys{ 

    NSURL *url = [NSURL URLWithString: @"https://sis-t.redsys.es:25443/sis/realizarPago"]; // PRUEBAS 
    // NSURL *url = [NSURL URLWithString: @"https://sis.redsys.es/sis/realizarPago"];  // REAL 
    NSString *body = [NSString stringWithFormat: @"DS_SIGNATURE=%@&DS_MERCHANTPARAMETERS=%@&DS_SIGNATUREVERSION=%@",redsys.Ds_Signature,redsys.Ds_MerchantParameters,redsys.Ds_SignatureVersion]; 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url]; 
    [request setHTTPMethod: @"POST"]; 
    //[request setHTTPBody: [body dataUsingEncoding: NSUnicodeStringEncoding]]; 
    //[request setHTTPBody: [body dataUsingEncoding: NSASCIIStringEncoding]]; 
    [request setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding allowLossyConversion:false]]; 
    NSLog(redsys.Ds_Signature); 
    NSLog(redsys.Ds_MerchantParameters); 
    NSLog(redsys.Ds_SignatureVersion); 

    [self.webView loadRequest:request]; 
} 
+0

Не можешь использовать stringbyreplacingoccurrencesofstring? –

+0

Символ '+' должен появиться на URL-адресе, поэтому я не могу его удалить – D4rWiNS

+0

Где находится знак «+», в этом нет вопроса. – zaph

ответ

0

Кажется, что вместо '+' символ для шестнадцатеричных

NSString *body = [body2 stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"]; 
Смежные вопросы