IOS cookie寫入問題(花椒H5賬號打通)

//關(guān)于UIWebview的cookie寫入問題杆故,僅供參考,花椒賬號打通需要服務(wù)器返回token和uid,需要寫入兩個cookie,比較蛋疼滑潘。這個只是個參考

#import "zhiboCollectionViewController.h"
#import "HJCline.h"

@interface zhiboCollectionViewController ()<UIWebViewDelegate,UIScrollViewDelegate>
@property (nonatomic,strong) UIWebView *webView;
@property (nonatomic ,assign)BOOL goBack;
@end

@implementation zhiboCollectionViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationItem.title = @"直播大廳";
    UIButton *returnBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 26)];
    [returnBtn setTitle:@"返回" forState:UIControlStateNormal];
    returnBtn.titleLabel.font = [UIFont systemFontOfSize:17];
    [returnBtn addTarget:self action:@selector(goToHomeView) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *returnBtnItem = [[UIBarButtonItem alloc]initWithCustomView:returnBtn];
    self.navigationItem.leftBarButtonItem = returnBtnItem;
    _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0,W,H - 64)];
    [self.view addSubview:_webView];
    _webView.delegate = self;
    _webView.scrollView.delegate = self;
    _webView.scrollView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        [self getHuaJiaoCookie];
        [_webView.scrollView.mj_header endRefreshing];
    }];

    _webView.backgroundColor = [UIColor whiteColor];
    self.automaticallyAdjustsScrollViewInsets = NO;
    [self getHuaJiaoCookie];
    //后臺返回前臺
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getHuaJiaoCookie) name:@"HUAJIAOCOOKIEUPDATE" object:nil];
}
-(void)getHuaJiaoCookie{
    [[HJCline sharedClient] sendHuaJiaoWithcustId:[UserDefaults customerID] custCode:[UserDefaults user] success:^(HJObject *dataObject) {
        NSString *h5_token = dataObject.res.h5_token;
        NSString *h5_uid = dataObject.res.uid;
//        YQLLog(@"cookie后臺新請求下來的====token=%@\n",h5_token);
        if (h5_uid.length > 0 && h5_uid.length > 0) {
            [self setCookieWithToken:h5_token uid:h5_uid];
        }
    } failure:^(NSError *error) {
        NSLog(@"%@",error);
    }];
}

-(void)setCookieWithToken:(NSString *)token uid:(NSString *)uid
{
    //清除cookie
    NSURL *url = [NSURL URLWithString:@"http://h.open.huajiao.com?channelid=wowifi"];
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url];
    for (NSHTTPCookie *cookie in cookies) {
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
    }
    
    NSHTTPCookie *cookieToken = [NSHTTPCookie cookieWithProperties:@{NSHTTPCookieName:@"h5_token",
                                                                     NSHTTPCookieValue:token,
                                                                     NSHTTPCookiePath:@"/",
                                                                     NSHTTPCookieDomain:@".huajiao.com",
                                                                     NSHTTPCookieOriginURL:@".huajiao.com",
                                                                     NSHTTPCookieExpires:[NSDate dateWithTimeIntervalSinceNow:60*60*24*7]
                                                                     }];
    NSHTTPCookie *cookieUseId = [NSHTTPCookie cookieWithProperties:@{NSHTTPCookieName:@"h5_userid",
                                                                     NSHTTPCookieValue:uid,
                                                                     NSHTTPCookiePath:@"/",
                                                                     NSHTTPCookieDomain:@".huajiao.com",
                                                                     NSHTTPCookieOriginURL:@".huajiao.com",
                                                                     NSHTTPCookieExpires:[NSDate dateWithTimeIntervalSinceNow:60*60*24*7]
                                                                     }];
//    YQLLog(@"cookiesetCookieWith新的token=%@\n===%@",cookieToken,cookieUseId);
    NSArray *cookiesArray=[NSArray arrayWithObjects:cookieToken,cookieUseId,nil];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookiesArray forURL:url mainDocumentURL:nil];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [_webView loadRequest:request];
    //    printf("cookie=======222222222222222222222=========");
}


-(void)goToHomeView{
    if (self.goBack==YES) {
        self.goBack=NO;
        [_webView goBack];
    }else{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"CHANGEVCINTABBAR4" object:nil];
}
}
#pragma mark WebViewDelegate======
-(void)webViewDidStartLoad:(UIWebView *)webView
{
    [SVProgressHUD show];
//屏蔽花椒H5里面的我的界面注銷按鈕
    // 1.獲取頁面標(biāo)題
    NSString *string = @"document.title";
    [webView stringByEvaluatingJavaScriptFromString:string];
    // 2.去掉頁面標(biāo)題
    NSMutableString *str = [NSMutableString string];
    // 5.去掉最底下的一塊區(qū)域
    [str appendString:@"var btn = document.getElementsByClassName(\"top_bar\")[0];"];
    [str appendString:@"btn.parentNode.removeChild(btn);"];
    
    [webView stringByEvaluatingJavaScriptFromString:str];
    [str appendString:@"var btn = document.getElementsByClassName(\"top_bar\")[1];"];
    [str appendString:@"btn.parentNode.removeChild(btn);"];
    
    [webView stringByEvaluatingJavaScriptFromString:str];

}

- (void)webViewDidFinishLoad:(UIWebView *)webView{
//屏蔽花椒H5里面的我的界面注銷按鈕
    // 1.獲取頁面標(biāo)題
    NSString *string = @"document.title";
    [webView stringByEvaluatingJavaScriptFromString:string];
    // 2.去掉頁面標(biāo)題
    NSMutableString *str = [NSMutableString string];
    // 5.去掉最底下的一塊區(qū)域
    [str appendString:@"var btn = document.getElementsByClassName(\"top_bar\")[0];"];
    [str appendString:@"btn.parentNode.removeChild(btn);"];
    
    [webView stringByEvaluatingJavaScriptFromString:str];
    [str appendString:@"var btn = document.getElementsByClassName(\"top_bar\")[1];"];
    [str appendString:@"btn.parentNode.removeChild(btn);"];
    
    [webView stringByEvaluatingJavaScriptFromString:str];
    [SVProgressHUD dismiss];
}
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    NSString *currentUrl = [NSString stringWithFormat:@"%@",request.URL];
//    YQLLog(@"urll===%@",currentUrl);
    if ([currentUrl containsString:@"liveid="]) {
        [self hideExistingTabBar:YES];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
//        self.view.backgroundColor = [Utils GetColor:@"ef8834"];
        _webView.frame = CGRectMake(0,0,W,H);
        //        NSLog(@"urll點擊界面二級界面進(jìn)入直播間");
    }else if([currentUrl containsString:@"http://h.open.huajiao.com/economics/recharge?"]){
        self.goBack=YES;
    }else{
        [self.navigationController setNavigationBarHidden:NO animated:YES];
        _webView.frame = CGRectMake(0, 0,W,H - 64);
        //        NSLog(@"urll直播的第一級主界面直播間之外的界面");
    }
     return YES;
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
    [SVProgressHUD dismiss];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末售淡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萧恕,老刑警劉巖姑子,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乎婿,死亡現(xiàn)場離奇詭異,居然都是意外死亡街佑,警方通過查閱死者的電腦和手機(jī)谢翎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沐旨,“玉大人森逮,你說我怎么就攤上這事〈判” “怎么了褒侧?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谊迄。 經(jīng)常有香客問我闷供,道長,這世上最難降的妖魔是什么鳞上? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任这吻,我火速辦了婚禮,結(jié)果婚禮上篙议,老公的妹妹穿的比我還像新娘唾糯。我一直安慰自己怠硼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布移怯。 她就那樣靜靜地躺著香璃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舟误。 梳的紋絲不亂的頭發(fā)上葡秒,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機(jī)與錄音嵌溢,去河邊找鬼眯牧。 笑死,一個胖子當(dāng)著我的面吹牛赖草,可吹牛的內(nèi)容都是我干的学少。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼秧骑,長吁一口氣:“原來是場噩夢啊……” “哼版确!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乎折,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绒疗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后骂澄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吓蘑,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年酗洒,在試婚紗的時候發(fā)現(xiàn)自己被綠了士修。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡樱衷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酒唉,到底是詐尸還是另有隱情矩桂,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布痪伦,位于F島的核電站侄榴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏网沾。R本人自食惡果不足惜癞蚕,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辉哥。 院中可真熱鬧桦山,春花似錦攒射、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钉凌,卻和暖如春咧最,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背御雕。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工矢沿, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人酸纲。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓咨察,卻偏偏與公主長得像,于是被迫代替她去往敵國和親福青。 傳聞我的和親對象是個殘疾皇子摄狱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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