私は http 経由で投稿しようとしていますが、成功していません。ここに私のコードがあります
NSError *error;
NSHTTPURLResponse *response;
NSData *posting =
[NSJSONSerialization dataWithJSONObject:[input createJsonDictionary]
options:0
error:&error];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", kURL]];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json"
forHTTPHeaderField:@"Content-Type"];
[urlRequest setValue:[NSString stringWithFormat:@"AuthToken %@",token]
forHTTPHeaderField:@"Authorization"];
[urlRequest setHTTPBody:posting];
NSData *urlResponse =
[NSData dataWithData:[NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response error:&error]];
NSDictionary *jsonDictionary =
[NSJSONSerialization JSONObjectWithData:urlResponse
options:0
error:&error];
NSLog(@"status code: %i", [response statusCode]);
NSLog(@"URL: %@", [urlRequest URL]);
NSLog(@"header: %@ \n method: %@", [urlRequest allHTTPHeaderFields], [urlRequest HTTPMethod]);
NSLog(@"body: %@\n", [[NSString alloc] initWithData:[urlRequest HTTPBody] encoding:NSUTF8StringEncoding]);
NSLog でステータス コード 500 が返されます。エラーがあります。しかし、cURLを使用して同じコマンドを実行しようとすると
curl --request POST -H "Content-Type: application/json"
-H "Authorization: AuthToken TOKEN" --data '{"DATA"}' -sL
-w "\\n%{http_code} %{url_effective}\\n" https://URL.com
ステータス コード 201 が返されました。成功です。私のコードで何かがおかしいようです。また、urlRequest の NSLogs では、curl コマンドの内容と同じです。私が間違っていることはありますか?