gpt4 book ai didi

ios - 如何使用 cookie 在 instagram 中进行身份验证?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:46 35 4
gpt4 key购买 nike

所以我有我的 auth instagram 代码。 token 已提供但不工作并显示消息“You must to switch cookies”。我必须做什么?谢谢回答。

现在我尝试从 instagram 获取 token :

NSURL *url=[NSURL URLWithString:@"http://instagram.com"];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"GET"];
[request setHTTPShouldHandleCookies:YES];
NSData *urlData;
NSHTTPURLResponse *response;
NSError *errors;
urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&errors];

NSString *string = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"csrf_token\":\"(.*)," options:0 error:NULL];
NSString *token = string;
NSTextCheckingResult *match = [regex firstMatchInString:token options:0 range:NSMakeRange(0, [token length])];


NSString *str = [[token substringWithRange:[match rangeAtIndex:1]] stringByReplacingOccurrencesOfString:@"\"}"
withString:@""];

NSLog(@"%@", str);

NSString *post = [NSString stringWithFormat:@"csrfmiddlewaretoken=%@&username=%@&password=%@", str, @"nnn", @"nnnpass"];

NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"https://instagram.com/accounts/login/"]];
[request setHTTPMethod:@"POST"];
[request setHTTPShouldHandleCookies:YES];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&errors];

NSString *string2 = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];

NSLog(@"%@", string2);

最佳答案

NSDictionary *cookieProperties = [NSDictionary dictionaryWithObjectsAndKeys:
@"", NSHTTPCookieDomain,
@"\\", NSHTTPCookiePath,
@"csrftoken", NSHTTPCookieName,
@"2dfdbaaeae7752882d792e49d79c0048", NSHTTPCookieValue,
nil];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
NSArray* cookieArray = [NSArray arrayWithObjects: cookie, nil];
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookieArray];

在 POST 请求中添加:[请求 setAllHTTPHeaderFields:headers];

关于ios - 如何使用 cookie 在 instagram 中进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23220751/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com