这是截取网络请求的字段。
一。注入Cookie必须在
[self.web loadRequest:myRequest];
之前注入;才能成功!
// 注入Cookie
-(void)writeCookietoRequestWirh:(NSString *)logInUrl{
NSURL *url= [NSURL URLWithString:logInUrl];
NSString *hostStr= url.host;
LoginInfo* loginInfo = [LoginInfo getInstance];
NSString *uid=loginInfo.uid;
//注入Cookie---33333333
NSString *currentDevice=[[UIDevice currentDevice] model];
NSString *currentVersion=[NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
NSMutableArray *myMuArr=[NSMutableArray array];
for (int i=0; i<6; i++) {
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
if (i==0) {
[cookieProperties setObject:@"WYSG_m" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"WYSG_m" forKey:NSHTTPCookieValue];
}
if (i==1) {
[cookieProperties setObject:@"WYSG_os" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"ios" forKey:NSHTTPCookieValue];
}
if (i==2) {
[cookieProperties setObject:@"WYSG_devicemodel" forKey:NSHTTPCookieName];
[cookieProperties setObject:currentDevice forKey:NSHTTPCookieValue];
}
if (i==3) {
[cookieProperties setObject:@"WYSG_appversion" forKey:NSHTTPCookieName];
[cookieProperties setObject:currentVersion forKey:NSHTTPCookieValue];
}
if (i==4) {
[cookieProperties setObject:@"uid" forKey:NSHTTPCookieName];
[cookieProperties setObject:uid forKey:NSHTTPCookieValue];
}
if (i==5) {
[cookieProperties setObject:@"entcode" forKey:NSHTTPCookieName];
[cookieProperties setObject:loginInfo.entcode forKey:NSHTTPCookieValue];
}
[cookieProperties setObject:hostStr forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
NSHTTPCookie *cookie1 = [NSHTTPCookie cookieWithProperties:cookieProperties];
[myMuArr addObject:cookie1];
}
NSArray *mmmArr=[NSArray arrayWithArray:myMuArr];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:mmmArr forURL:url mainDocumentURL:url];
}
二。获取注入的Cookie---在这个方法里获取
-(void)webViewDidFinishLoad:(UIWebView *)webView{
//去掉广告
[self.web stringByEvaluatingJavaScriptFromString:@"document.documentElement.getElementsByClassName('adpic')[0].style.display = 'none'"];
NSString *currentUrl=[webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
NSLog(@"获取当前页面的URL===%@",currentUrl);
NSString *pageTitle = [self.web stringByEvaluatingJavaScriptFromString:@"document.title"];
NSLog(@"页面的标题===%@",pageTitle);
//获取cookie方法
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [cookieJar cookies]) {
NSLog(@"cookie==%@,%@", cookie,[cookie class]);
NSDictionary *mydictionary= cookie.properties;
if ([[mydictionary objectForKey:@"Name"] isEqualToString:@"JSESSIONID"]) {
NSString *name=[mydictionary objectForKey:@"Name"];
NSString *value=[mydictionary objectForKey:@"Value"];
NSMutableString*resposecookie=[NSMutableString stringWithFormat:@"%@=%@",name,value];
NSDictionary *responseDic=[NSDictionary dictionaryWithObject:resposecookie forKey:@"Set-Cookie"];
// self.cookieDiction=responseDic;
}
}
}