UIWebView實現(xiàn)自動登陸

IOS中UIWebView不會自動存儲、讀取Cookie.
要實現(xiàn)UIWebView的自動登陸,需要手動存儲、讀取Cookie.
1.Appelegate.m中加入以下代碼

- (void)applicationDidBecomeActive:(UIApplication *)application 
{    
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    //存儲Cookie,示例加載的URL:http://119.29.69.58:81/index
    NSURL * cookieHost = [NSURL URLWithString:@"http://119.29.69.58:81"];
    NSHTTPCookie * cookie = [NSHTTPCookie cookieWithProperties:
    [NSDictionary    dictionaryWithObjectsAndKeys:
    [cookieHost host],NSHTTPCookieDomain,
    [cookieHost path],NSHTTPCookiePath,
    @"COOKIE_NAME",NSHTTPCookieName,
    @"COOKIE_VALUE",NSHTTPCookieValue,nil]];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}

2.UIWebView加載URL時設(shè)置Header

NSURL * url = [NSURL URLWithString:@"http://119.29.69.58:81/index"];
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url];
NSArray * cookies = [[NSHTTPCookieStorage  sharedHTTPCookieStorage] cookies];
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setHTTPMethod:@"POST"];
[request setHTTPShouldHandleCookies:YES];
[request setAllHTTPHeaderFields:headers];
[self.WebView loadRequest:request];

3.退出登陸時刪除Cookie

//清空Cookie
NSHTTPCookieStorage * myCookie = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie * cookie in [myCookie cookies])
{
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}

//刪除沙盒自動生成的Cookies.binarycookies文件       
NSString * path = NSHomeDirectory();
NSString * filePath = [path stringByAppendingPathComponent:@"/Library/Cookies/Cookies.binarycookies"];
NSFileManager * manager = [NSFileManager defaultManager];
[manager removeItemAtPath:filePath error:nil];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容