2014-10-01 74 views
0

我有一個文本字段,我需要發送兩個數據到API。如何發送原始數據到API

  NSString *post =[NSString stringWithFormat:@"val1=%@,val2=%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"val1"],val2]; 
      NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
      NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

      NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
      [request setURL:[NSURL URLWithString:@"http://api.test.com/send"]]; 
      [request setHTTPMethod:@"POST"]; 
      [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
      [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
      [request setHTTPBody:postData]; 

      NSError *error; 
      NSURLResponse *response; 
      NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
      NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; 
      NSLog(@"log%@",str); 
     } 

我需要發送只有原始數據API,這是我code.Please檢查,讓我知道感謝

+0

是否有你得到任何錯誤? – APerson 2014-10-01 04:22:02

+0

Im發送數據像JSON – moosa0709 2014-10-01 04:22:24

+0

我只需要發送原始值 – moosa0709 2014-10-01 04:23:08

回答

2
NSData *postData = [someStringToPost dataUsingEncoding:NSUTF8StringEncoding]; 
NSURL *url = [NSURL URLWithString:someURLString]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:[NSString stringWithFormat:@"%d", postData.length] forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSError *error = nil; 
NSHTTPURLResponse *response = nil; 
NSData *retData = [NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error]; 
if (error) 
{ 
      //error 
} 
else 
{ 
      //no error 
} 

試試這個

0

你試過將其轉換爲NSData的和發送的?

下面是轉換: NSData * data = [NSKeyedArchiver archivedDataWithRootObject:array];

這會給你以字節爲單位的數據,然後通過正常的網絡功能調用來傳遞它。