Перевести команду curl в NSMutableUrlRequest
Я пытаюсь портировать запрос curl:
curl -X POST -H [header stuff] -d '{"key":"value"}' [host]
в NSMutableUrlRequest. До сих пор я исключил, что работает нормально, и сохранил только то, что вызывает у меня проблемы, а именно -d '{"key":"value"}'. Другая часть заголовка в порядке.
Согласно curl manual -d означает, что полезная нагрузка отправляется в формате application/x-www-form-urlencoded, поэтому я сделал следующее:
NSString* post = @"{\"key\":\"value\"}";
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
[_request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[_request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[_request setHTTPMethod:@"POST"];
[_request setHTTPBody:postData];
Это возвращает следующую ошибку
Ошибка: ошибка Domain=AFNetworkingErrorDomain Code=-1011 "Ожидаемый код состояния в (200-299), получено 400" UserInfo=0xa363550 {NSLocalizedRecoverySuggestion={"code":107,"error":"bad www-form-urlencoded data"}
Может ли кто-нибудь указать мне правильное направление для отладки этого материала? -А
1 ответ
Content-Type
должно быть application/json
или, может быть text/plain
вместо. Если ничего не помогает, попробуйте application/octet-stream
(необработанные двоичные данные).