在我的应用程序中,我想使用 WKWebView 进行登录,然后完成对服务器的所有进一步请求。
我能够使用 WKWebView 成功登录。在它的成功我得到会话信息。我之前使用 UIWebView 实现了它,它工作正常。我所有进一步的 Web 服务调用在 UIWebView 中都运行良好。
现在,当我使用 WKWebView 实现登录时,它成功登录,但是当我点击不同的链接(URL)时,它每次都会给我注销响应,并且我正在尝试使用 Cookie 调用服务,并且它没有给我正确的响应,因为会话信息不是被通过。
有什么办法,我可以存储 WKWebView 的那些会话信息
任何帮助将不胜感激。请帮忙!
这是我设置 cookie 的代码:-
*{
// Set iPad cookie for our requests
NSString* dotDomain = [NSString stringWithFormat:@".%@", CookieDomain];
NSDictionary* newCookieDict = [NSMutableDictionary
dictionaryWithObjectsAndKeys:
dotDomain, NSHTTPCookieDomain,
@"iPad", NSHTTPCookieName,
@"/", NSHTTPCookiePath,
@"1", NSHTTPCookieValue,
@"2040-1-1 00:00:00 -0700", NSHTTPCookieExpires,
nil];
NSHTTPCookie* newCookie = [NSHTTPCookie cookieWithProperties:newCookieDict];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:newCookie];
}
// Don't block cookies, so dosespot will work
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];*
这是我的请求 HTTP 标头和响应 HTTP 标头:-
*Request HTTP Header : {
"Accept-Encoding" = gzip;
Cookie = "cookie_test=1; cookie_test=1; CAKEPHP=jkn36knqoul2f14rebb8k5h882; iPad=1";
"User-Agent" = "iPad App";
}*
**Response HTTP Header : {
Connection = "Keep-Alive";
"Content-Encoding" = gzip;
"Content-Length" = 5668;
"Content-Type" = "text/html";
Date = "Tue, 10 May 2016 13:58:14 GMT";
"Keep-Alive" = "timeout=5, max=99";
Server = "Apache/2.2.22 (Ubuntu)";
Vary = "Accept-Encoding";
"X-Powered-By" = "PHP/5.3.10-1ubuntu3.15";
}**