ActiveCollab 3 ベータ版と連携する目的の C プログラムを実装しようとしていますが、いくつか問題があります。ブラウザで NSLog が出力する URL を入力すると、すべてのプロジェクトの xml をプルするのに問題なく動作します。このプログラムを介してアクセスしようとすると、うまく動作しません。HTTP 403 が返されます。エラー。私はObjective Cを初めて使用し、学習経験としてこれを行っているため、一部のコードが冗長になる場合があります。助けてくれてありがとう。インポートは山かっこで囲まれていますが、StackOverflow で非表示になるため、引用符で囲みました
#import "Foundation/Foundation.h" int main (int argc, const char * argv[]) { NSString *token = @"my-token"; NSString *path_info = @"プロジェクト"; NSString *url = @"http://my-site/api.php?"; NSString *post = [[NSString alloc] initWithFormat:@"path_info=%@&auth_api_token=%@",path_info, token]; NSLog(@"投稿: %@", 投稿); NSString *newRequest; newRequest = [url stringByAppendingString:post]; NSLog(@"パス: %@", newRequest); NSData *postData = [newRequest dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; NSString *postLength = [NSString stringWithFormat:@"%d", [postData の長さ]]; [request setURL:[NSURL URLWithString:newRequest]]; [request setHTTPMethod:@"POST"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [request setHTTPBody:postData]; NSURLResponse *応答; NSError *エラー; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returnedResponse:&response エラー:&err]; NSString *returnData = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]; NSLog(@"%@", returnData); //printf("印刷行"); 0 を返します。 }