我正在尝试将图像发布到 reddit;但是,我只知道我在做什么。我正在为我的 iphone 应用程序使用目标 c。
在下面列出的代码之前,我通过在上传之前登录并使用 NSLog 来确定我确实收到了它们,从而获得了 modhash 和 cookie。然后我使用 JSON Parser 将它们分成单独的变量。
我不确定所有 POST 参数值应该是什么,所以我猜到了。必要的参数是 uh、file、formid、header、ing_type、name 和赞助商。
reddit api 的文档是http://www.reddit.com/dev/api 我相信我想使用 POST /api/upload_sr_img 方法...
NSURL *url = [NSURL URLWithString:@"http://www.reddit.com/api/upload_sr_img"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *httpBody = [NSString stringWithFormat:@"?uh=%@&file=%@&formid=''header=%@&img_type=%@&name=%@&sponsor=%@",modhash,UIImagePNGRepresentation(self.memeImage.image),@"test",@"png",@"Drew",@"Drew'sApp"];
[request setHTTPBody:[httpBody dataUsingEncoding:NSASCIIStringEncoding]];
NSURLResponse *response = NULL;
NSError *imgError = NULL;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&imgError];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:result options:NSJSONReadingMutableContainers error:nil];
NSDictionary *responseJson = [json valueForKey:@"json"];
NSLog(@"response is: %@",response);
NSLog(@"imgError is: %@",imgError);
NSLog(@"result is: %@",result);
NSLog(@"json is: %@",json);
NSLog(@"responseJson is: %@",responseJson);
可以使用我能得到的任何帮助。
另外,我不确定是否需要发送内容类型,甚至是什么类型。
谢谢你的帮助。