web頁(yè)面不攜帶cookie實(shí)現(xiàn)自動(dòng)登錄

需求背景

使用某個(gè)app的時(shí)候碰到一個(gè)web頁(yè)面, 登錄之后每次打開都還要重新登錄. 想辦法弄到url之后發(fā)現(xiàn), 這個(gè)頁(yè)面沒(méi)有攜帶cookie. 所以, 就在想這種情況下有沒(méi)辦法實(shí)現(xiàn)自動(dòng)登錄.

實(shí)現(xiàn)思路

  • 在Chrome瀏覽器打開url, 右鍵可以查看網(wǎng)頁(yè)源碼. 找到填充賬號(hào)密碼的js語(yǔ)句和登錄方法
  • oc執(zhí)行js語(yǔ)句, 自動(dòng)填充賬號(hào)密碼, 并調(diào)用js的登錄方法

代碼

-1. 加載webview

self.webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
    self.webView.navigationDelegate = self;
    [self.view addSubview:self.webView];
    NSURL *URL = [NSURL URLWithString:@"http://www.kball.com.cn:3000/huolala/tkb_huolala_insurance_reg.html?channelId=huolala"];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
    [self.webView loadRequest:request];

-2. 在webview加載完成的代理方法中, 執(zhí)行js語(yǔ)句

//webview加載完成代理
- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation {

    //拼接js語(yǔ)句,用js語(yǔ)句自動(dòng)填充賬號(hào)和密碼
    NSString *userPhone = @"18576677707";
    NSString *userPassWord = @"123456";
    NSString *javaScript = [NSString stringWithFormat:@"var x = document.getElementsByClassName('userPhone');var i;for (i = 0; i < x.length; i++) {x[i].value=%@;}var y = document.getElementsByClassName('userPassWord');var i;for (i = 0; i < y.length; i++) {y[i].value=%@;}" ,userPhone,userPassWord];
    
    //調(diào)用js方法
    [webView evaluateJavaScript:javaScript completionHandler:^(id _Nullable sucess, NSError * _Nullable error) {
        //成功回調(diào),調(diào)用登錄方法
        [webView evaluateJavaScript:@"login()" completionHandler:^(id _Nullable sucess, NSError * _Nullable error) {      
        }];        
    }];
}

  • 這只是興趣導(dǎo)向的小研究, 真實(shí)開發(fā)中一般不這么實(shí)現(xiàn)自動(dòng)登錄的需求.
  • 因?yàn)閣eb頁(yè)面的代碼隨時(shí)可以更改發(fā)布, 而app更改之后要審核上架. web代碼改了, app沒(méi)改, 自動(dòng)登錄還是會(huì)失效.
  • 所以真實(shí)開發(fā)中, 如果web頁(yè)面要實(shí)現(xiàn)自動(dòng)登錄, 就必須在請(qǐng)求中攜帶cookie或者token, 客戶端負(fù)責(zé)讀取保存cookie.

demo地址:

https://git.oschina.net/SLY_C/oc_jsJiaoHu_ZiDongDengLu.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末同窘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌版保,老刑警劉巖强饮,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件河泳,死亡現(xiàn)場(chǎng)離奇詭異构诚,居然都是意外死亡徘层,警方通過(guò)查閱死者的電腦和手機(jī)组砚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門吻商,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人糟红,你說(shuō)我怎么就攤上這事艾帐。” “怎么了盆偿?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵柒爸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我事扭,道長(zhǎng)捎稚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任求橄,我火速辦了婚禮今野,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘罐农。我一直安慰自己条霜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布涵亏。 她就那樣靜靜地躺著宰睡,像睡著了一般蒲凶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夹厌,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天豹爹,我揣著相機(jī)與錄音,去河邊找鬼矛纹。 笑死臂聋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的或南。 我是一名探鬼主播孩等,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼采够!你這毒婦竟也來(lái)了肄方?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蹬癌,失蹤者是張志新(化名)和其女友劉穎权她,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逝薪,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隅要,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了董济。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片步清。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖虏肾,靈堂內(nèi)的尸體忽然破棺而出廓啊,到底是詐尸還是另有隱情,我是刑警寧澤封豪,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布谴轮,位于F島的核電站,受9級(jí)特大地震影響吹埠,放射性物質(zhì)發(fā)生泄漏第步。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一藻雌、第九天 我趴在偏房一處隱蔽的房頂上張望雌续。 院中可真熱鬧,春花似錦胯杭、人聲如沸驯杜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸽心。三九已至滚局,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顽频,已是汗流浹背藤肢。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留糯景,地道東北人嘁圈。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蟀淮,于是被迫代替她去往敵國(guó)和親最住。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容