Objective c Reddit API ios modhash/cookie问题
我正在尝试通过iOS应用程序提交给Reddit。我可以很好地登录,并被发送回一个modhash和一个cookie,我通过NSUserDefaults保存它们 问题是,当我发布数据时,我会不断获取所需的USER_作为响应,即使我已经在帖子中包含modhash并设置了会话cookie。我甚至在我的app delegate中包含了以下内容:Objective c Reddit API ios modhash/cookie问题,objective-c,ios,xcode,api,reddit,Objective C,Ios,Xcode,Api,Reddit,我正在尝试通过iOS应用程序提交给Reddit。我可以很好地登录,并被发送回一个modhash和一个cookie,我通过NSUserDefaults保存它们 问题是,当我发布数据时,我会不断获取所需的USER_作为响应,即使我已经在帖子中包含modhash并设置了会话cookie。我甚至在我的app delegate中包含了以下内容: [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCo
[[NSHTTPCookieStorage sharedHTTPCookieStorage]
setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
但它仍然不起作用。这是我的密码:
-(void) post {
NSString *modhash2 = [[NSUserDefaults standardUserDefaults]
objectForKey:@"modhash"];
NSString *urlString = [NSString
stringWithFormat:@"https://ssl.reddit.com/api/submit"];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded;"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
[request addValue:redditCookie forHTTPHeaderField:@"Cookie"];
[request setHTTPMethod:@"POST"];
NSString *httpBody = [NSString stringWithFormat
:@" ?uh=%@&kind=link&url=%@&sr=%@&title=%@&r=%@&api_type=json",
modhash2,
@"www.google.com",
@"test",
@"Google.com",
@"test"];
[request setHTTPBody:[httpBody dataUsingEncoding:NSASCIIStringEncoding]];
NSURLResponse* response;
NSError* error = nil;
NSData* result = [NSURLConnection
sendSynchronousRequest:request
returningResponse:&response
error:&error];
NSDictionary *json = [NSJSONSerialization
JSONObjectWithData:result
options:NSJSONReadingMutableContainers
error:nil];
NSDictionary *responseJSON = [json valueForKey:@"json"];
NSLog(@"RETURN: %@",responseJSON);
}
有什么想法吗?两件简单的事情。1我认为你不需要在你的帖子正文中使用引导空格和“?”。2“redditCookie”变量设置在哪里?其中包含什么?在reagrds to 1中,您是对的,不确定为什么会出现,但无法帮助删除。2正在使用在此之前出现的“登录”方法设置cookie。我可以在登录和使用此方法时检查cookie和modhash,它们是相同的。cookie包含133135712012-11-11T23:39:54,C9F7C4EB02B3C486F782DC9774A65EF05ED96B3希望这在某种程度上有所帮助!