//關(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];
}
IOS cookie寫入問題(花椒H5賬號打通)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沐旨,“玉大人森逮,你說我怎么就攤上這事〈判” “怎么了褒侧?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長谊迄。 經(jīng)常有香客問我闷供,道長,這世上最難降的妖魔是什么鳞上? 我笑而不...
- 正文 為了忘掉前任这吻,我火速辦了婚禮,結(jié)果婚禮上篙议,老公的妹妹穿的比我還像新娘唾糯。我一直安慰自己怠硼,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布移怯。 她就那樣靜靜地躺著香璃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舟误。 梳的紋絲不亂的頭發(fā)上葡秒,一...
- 文/蒼蘭香墨 我猛地睜開眼秧骑,長吁一口氣:“原來是場噩夢啊……” “哼版确!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乎折,我...
- 正文 年R本政府宣布痪伦,位于F島的核電站侄榴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏网沾。R本人自食惡果不足惜癞蚕,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辉哥。 院中可真熱鬧桦山,春花似錦攒射、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钉凌,卻和暖如春咧最,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背御雕。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 同樣的寫入cookie,在chrome和safari上不同的表現(xiàn)无午。不論桌面端還是移動端都是這樣的媒役,safari寫入...
- 當(dāng)你訪問一個網(wǎng)站時,NSURLRequest都會幫你主動記錄下來你訪問的站點設(shè)置的Cookie宪迟,如果 Cookie...
- 今天公司想要在所有iOS掉H5的頁面里的請求頭的Cookie增加一個token字段 因為我們公司有H5端啊片,也有iO...
- 在iPhone系統(tǒng)升級前:10.1之前的時候我們在與H5交互直接通過傳遞cookie就可以實現(xiàn)H5的部分參數(shù)需求紫谷。...