2015-11-16 5 views
1

Приведенная ниже локон линия работает в терминале, но я не могу понять, как правильно перевести его в NSURLПеревести Curl команду Objective C

curl -X PUT http://user:[email protected]:3000/update/564a3f1ff72fe641a8000013/? -d firstName=Adam 

Это код, я качалки до сих пор, и он соединяет, но и создает поля со значением NIL вместо udpateing их с новым значением

NSString *authString = [NSString stringWithFormat:@"%@:%@%c",@"user", @"pass", '@']; 

NSData *postData = [@"firstName=Adam" dataUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@localhost:3000/update/564a3f1ff72fe641a8000013/?",authString]]; 
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; 
[req setHTTPMethod:@"PUT"]; 
[req setHTTPBody:postData]; 

NSError *err = nil; 
NSHTTPURLResponse *res = nil; 
NSData *retData = [NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err]; 
if (err) 
{ 
    //handle error 
    NSLog(@"BOOO : %@",err); 
} 
else 
{ 
    //handle response and returning data 
    NSLog(@"YAYA : %@",err); 
} 

ответ

2

установить тип содержимого вашего запроса:

[req setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
+0

Нет visible @interface для 'NSMutableURLRequest' объявляет селектор 'setContentType:' –

+0

EDITED - извините, я написал, как я это делаю - поскольку у меня есть категория для этого;), но в конце вы хотите установить заголовок –

+1

[req setValue: @ "application/x-www-form-urlencoded" forHTTPHeaderField: @ "Content-Type"]; Это сработало для меня спасибо! –

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