NSMutableURLRequest: не удается получить тело для добавления с помощью запроса PUT

#cocoa-touch #ios #http #put #nsmutableurlrequest

#cocoa-touch #iOS #http #поместить #nsmutableurlrequest

Вопрос:

Я пытаюсь выполнить PUT. В качестве теста я выполняю запрос GET для некоторых данных JSON и сохраняю полученные данные в переменной data, которую я инициализировал в другом месте. Я могу декодировать исходные данные, и все выглядит нормально. Когда я отправляю его обратно, я стираю все в HTTP-теле URI, в который я помещаю.

   data = receivedData:

  NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:putURI]] autorelease];
     [request setTimeoutInterval:10];
     [request setHTTPMethod:@"PUT"];
     [request setValue:@"application/json" forHTTPHeaderField:@"Content-type"];
     [request addValue:self.token forHTTPHeaderField:@"Authorization"];
     [request setHTTPBody:data];
     NSLog(@"nVerify existence of original data packet: n%@nn",data);

     self.putDeviceOnListConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
  

Есть идеи, что не так? Как всегда, мы высоко ценим вашу помощь.

Ответ №1:

Я обнаружил проблему с этим. Я добавил AddValue:forHTTPHeaderField для для длины пакета данных и изменил тип содержимого на «application / x-www-form-urlencoded.

Комментарии:

1. Отличная штука, я добавил тип содержимого, и это сработало.