2011-09-22 19 views
1

は、私は以下のような応答を得る:レスポンス暗号化問題

TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success 
&VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M 
&TRANSACTIONID=6PT23270XK626941N" in this encrypted format 

にはどうすれば元のテキスト文字列を取得することができますか?これは、URLを解析するための私のコードです:

NSString *parameterString = [[NSString stringWithFormat:@"USER=mercha_1316582882_biz_api1.ifuturz.com" 
           "&PWD=1316582974" 
           "&SIGNATURE=Az-qrCDOk-pVcMVvJLOJY7DrGESBAgSH4RGOILESJSsYaBlWVZ3mNfJB" 
           "&METHOD=DoDirectPayment" 
           "&CREDITCARDTYPE=Visa" 
           "&ACCT=%@" 
           "&EXPDATE=092016 " 
           "&CVV2=111" 
           "&AMT=%@" 
           "&FIRSTNAME=%@" 
           "&LASTNAME=%@" 
           "&STREET=%@" 
           "&CITY=%@" 
           "&STATE=%@" 
           "&ZIP=%@" 
           "&COUNTRYCODE=IN" 
           "&CURRENCYCODE=USD" 
           "&PAYMENTACTION=Sale" 
           "&VERSION=65.0", 
           txtCreditCardNo.text, 
           strAmount, 
           txtName.text, 
           txtName.text, 
           txtAddress.text, 
           txtCity.text, 
           txtState.text, 
           txtZipCode.text 
           ] retain]; 

NSLog(@"Soap : %@",parameterString); 

NSURL *url = [NSURL URLWithString:@"https://api-3t.sandbox.paypal.com/nvp"]; 

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]]; 
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]]; 


NSError *err; 
NSURLResponse *resp; 
NSData *response = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&resp error:&err]; 

if (resp != nil) { 



    NSString *stringResponse = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 

    NSLog(@"---------------------- %@",stringResponse); 

    SBJSON *jsonParser = [SBJSON new]; 
    NSMutableDictionary *json = [[NSMutableDictionary alloc] init]; 
    json = [jsonParser objectWithString:stringResponse error:NULL]; 
    NSLog(@"\n \n JSN Dic : %@",[json description]); 

} else if (err != nil) { 

    NSLog(@"\n \n Nill"); 

} 
+0

あなたはより正確な何をしたいのかを説明することができます... – Nekto

+0

この応答私が取得: TIMESTAMP = 2011パーセント2d09%2d22T10%3a20%3a24Z &CorrelationIDの= fa0181684fd81 &ACK =成功 &VERSION = 65%2E0 &BUILD = 2133933& AMT = 0%2E12 &CURRENCYCODE = USD &AVSCODE = X &CVV2MATCH = M &TRANSACTIONID = 6PT23270XK626941N」 と私は応答のこの種欲しい: TIMESTAMP = 2011-09-22:10:20:3 24Z &CorrelationIDの= fa0181684fd81 &ACK =成功 &VERSION = 65.0 &BUILD = 2133933を &AMT = 0.12 &CURRENCYCODE = USD &AVSCODE = X &CVV2MATCH = M &TRANSACTIONID = 6PT23270XK626941N」 は私がなど '%2' のような文字を削除する方法を意味します... – Sonu

答えて

1

それが暗号化されていない、それはそれは面倒な文字は、その進値に置き換えられている、エンコードされたURLです。例: '%2d'は ' - 'です。

NSString *stringToDecode = @"TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N"; 

NSString *decodedString = [stringToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSLog(@"decodedString: %@", decodedString); 

のNSLog出力:

decodedString: TIMESTAMP=2011-09-22T10:20:24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65.0&BUILD=2133933&AMT=0.12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N 
関連する問題