我正在尝试实现一个 Objective C 程序来与 activeCollab 3 beta 交互并且遇到了一些问题。我可以在浏览器中输入 NSLog 输出的 url,它可以很好地为所有项目拉取 xml,当我尝试通过这个程序访问它时它不想为我工作,它给了我一个 HTTP 403错误。我是 Objective C 的新手,并且将其作为学习经验,因此某些代码可能是多余的。提前感谢您的帮助。导入用尖括号括起来,但会导致它在 StackOverflow 上被隐藏,所以我把它放在引号中
#import "基础/Foundation.h"
int main (int argc, const char * argv[]) {
NSString *token = @"my-token";
NSString *path_info = @"projects";
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 length]];
[请求 setURL:[NSURL URLWithString:newRequest]];
[请求 setHTTPMethod:@"POST"];
[请求 setValue:postLength forHTTPHeaderField:@"Content-Length"];
[请求 setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[请求 setHTTPBody:postData];
NSURLResponse *响应;
NSError *错误;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returnedResponse:&response error:&err];
NSString *returnData = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"%@", returnData);
//printf("打印行");
返回0;
}