2014-10-01 4 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

+0

Im, отправляющий данные, такие как JSON – moosa0709

+0

Мне нужно отправить только исходную стоимость – moosa0709

ответ

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];

Это даст вам данные в байтах, а затем просто передайте их обычными вызовами сетевых функций.

Смежные вопросы