无法将 cookie 发送到 WebView Objective C
Could not send cookies to WebView Objective C
我写了下面的代码,这是我从 SO 上的一个问题中找到的。
我仍然很困惑,因为在做了所有这些之后我仍然无法访问 PHP
页面上的 cookie。
我做错了什么?
- (void)viewDidLoad {
[super viewDidLoad];
UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];
NSString *url=@"http://mywebsite.com";
NSURL *nsurl=[NSURL URLWithString:url];
NSMutableURLRequest *nsrequest=[NSMutableURLRequest requestWithURL:nsurl];
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"testCookie" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"someValue123456" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.mywebsite.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.mywebsite.com" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
[webview loadRequest:nsrequest];
}
您已在 "www.example.com/" 上设置了 cookie,但您正在尝试加载 "my website.com" - 将 NSHTTPCookieDomain 和 NSHTTPCookieOriginURL 更改为 "mywebsite.com" 或尝试加载 "www.example.com"根据您的要求!
使用它来设置您的对象:
nsrequest.addValue(value: "testCookie", forHTTPHeaderField: NSHTTPCookieName)
etc...
抱歉,它在 Swift 3 ^^ 但您可以转换为 Obj-c
我写了下面的代码,这是我从 SO 上的一个问题中找到的。
我仍然很困惑,因为在做了所有这些之后我仍然无法访问 PHP
页面上的 cookie。
我做错了什么?
- (void)viewDidLoad {
[super viewDidLoad];
UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];
NSString *url=@"http://mywebsite.com";
NSURL *nsurl=[NSURL URLWithString:url];
NSMutableURLRequest *nsrequest=[NSMutableURLRequest requestWithURL:nsurl];
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"testCookie" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"someValue123456" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.mywebsite.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.mywebsite.com" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
[webview loadRequest:nsrequest];
}
您已在 "www.example.com/" 上设置了 cookie,但您正在尝试加载 "my website.com" - 将 NSHTTPCookieDomain 和 NSHTTPCookieOriginURL 更改为 "mywebsite.com" 或尝试加载 "www.example.com"根据您的要求!
使用它来设置您的对象:
nsrequest.addValue(value: "testCookie", forHTTPHeaderField: NSHTTPCookieName)
etc...
抱歉,它在 Swift 3 ^^ 但您可以转换为 Obj-c