gpt4 book ai didi

Cookies 不与 NSMutableURLRequest 一起发送

转载 作者:行者123 更新时间:2023-12-02 03:53:12 25 4
gpt4 key购买 nike

首先,该应用程序将打开一个 UIWebView 到我网站上的登录页面,成功登录后,webview 将关闭。我需要请求一个 url,它会返回一个非常小的 json 数据。如果我用 webview 启动这个 url,就会返回正确的数据,因此假设登录 session 仍然存在(如果不是,它将再次重定向到登录页面)

我需要在另一个 View 中返回数据,而不是 webview,因此我需要使用 NSURLRequest 来访问它。爬了一晚上的stackoverflow,得到的是:

NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:
[cookieJar cookies]];
[request setAllHTTPHeaderFields:headers];

NSError * e;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&e];

检查返回的数据(包含登录页面源而不是预期的 json 数据)后,我可以得出结论,cookie 未发送,需要建议。

编辑:我做了 [request allHTTPHeaderField] 的输出,它显示 NSHTTPCookieStorage 中的所有可用 cookie 都已附加到请求中。所以...我真的不知道该如何进行。

最佳答案

您不需要显式设置 cookie。 NSURLConnection 会自动为你做这件事。

您是否尝试在您的 webview 关闭后打印出 cookie?

  [[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

NSLog(@"%@", obj);
}];

关于Cookies 不与 NSMutableURLRequest 一起发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672095/

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