UIWebView Url拦截

简介: UIWebView Url拦截
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"allHTTPHeaderFields********%@",request.allHTTPHeaderFields);
    if(![request.allHTTPHeaderFields valueForKey:@"Authorization"])
    {
        NSMutableURLRequest *mrequest = [[NSMutableURLRequest alloc] initWithURL:request.URL];
        [self setCookie];
        mrequest.HTTPShouldHandleCookies = YES;
        [mrequest setTimeoutInterval:20];
        [mrequest setHTTPMethod:@"GET"];
        [mrequest setValue:httpHeaderToken forHTTPHeaderField:@"Authorization"];
        [mrequest setValue:g_deviceInfo forHTTPHeaderField:@"device_info"];
        [webView loadRequest:mrequest];
        return  NO;
    }
    [self setCookie];
    return YES;
}
-(void)setCookie
{
    NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
    [cookieProperties setObject:@"AuthAccessToken" forKey:NSHTTPCookieName];
    [cookieProperties setObject:httpHeaderToken forKey:NSHTTPCookieValue];
    [cookieProperties setObject:@"s3.xtox.net" forKey:NSHTTPCookieDomain];
    NSHTTPCookie *cookieuser = [NSHTTPCookie cookieWithProperties:cookieProperties];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookieuser];
}
NSString *urlstr= @"http://s3.xtox.net:5578";
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlstr]];
    [request setTimeoutInterval:20];
    [request setHTTPMethod:@"GET"];
    [request setValue:httpHeaderToken forHTTPHeaderField:@"Authorization"];
    [request setValue:g_deviceInfo forHTTPHeaderField:@"device_info"];
    [self setCookie];
    request.HTTPShouldHandleCookies = YES;
    [SVProgressHUD showWithStatus:nil];
    self.web.delegate = self;
    [self.web loadRequest:request];
相关文章
|
5月前
|
安全 Java 数据安全/隐私保护
|
Web App开发 JavaScript 安全
window.open(url)多次打开下载链接被浏览器拦截问题解决方案,js实现循环访问多个下载链接
window.open(url)多次打开下载链接被浏览器拦截问题解决方案,js实现循环访问多个下载链接
817 0
window.open(url)多次打开下载链接被浏览器拦截问题解决方案,js实现循环访问多个下载链接
|
缓存 前端开发 JavaScript
Android 拦截WebView加载URL,控制其加载CSS、JS资源
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49517537 绪论 最近在项目中有了这样一个需求,我们都知道WebView加载网页可以缓存,但是web端想让客服端根据需求来缓存网页,也就是说web端在设置了http响应头,我根据这个头来拦截WebView加载网页,去执行网络加载还是本地缓存加载。
1205 0
|
存储 算法 Java
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】(三)
本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门
297 0
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】(三)
|
存储 缓存 安全
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】(二)
本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门
372 0
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】(二)
|
存储 安全 Java
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】(一)
本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门
145 0
|
算法 前端开发 Java
Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】
前言 本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门 一、Shiro基础知识 在学习Shiro这个框架之前,首先我们要先了解Shiro需要的基础知识:权限管理 1.1什么是权限管理? 只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。
1418 0
关于cas-client单点登录客户端拦截请求和忽略/排除不需要拦截的请求URL的问题(不需要修改任何代码,只需要一个配置)
前言:今天在网上无意间看到cas单点登录排除请求的问题,发现很多人在讨论如何通过改写AuthenticationFilter类来实现忽略/排除请求URL的功能;突发奇想搜了一下,还真蛮多人都是这么干的,原谅我是个耿直的boy,当时我笑的饭都喷出来了,只需要一个配置的问题,被你们搞的这么麻烦...
1690 0
|
iOS开发
研究笔记:iOS中使用WebViewProxy拦截URL请求
本文为阿里iOS开发工程师阳翼所作。 先说明下iOS中加载url的正常流程: 1.客户端发送NSURLRequest给server 2.