UIWebView请求网页链接的方法:
NSURL *url = [NSURL URLWithString:urlStr]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];NSURLRequest的构造方式有两种:
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30]; //和 NSURLRequest *request = [NSURLRequest requestWithURL:url];cachePolicy是请求的缓存策略,类型为NSURLRequestCachePolicy,[NSURLRequest requestWithURL:]默认设置缓存策略为NSURLRequestUseProtocolCachePolicy,超时时间默认是60s。
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy) { //缓存策略根据网页协议中定义的缓存逻辑(如有效期等) NSURLRequestUseProtocolCachePolicy = 0, //忽略本地缓存 NSURLRequestReloadIgnoringLocalCacheData = 1, //忽略本地缓存和远程代理的缓存 NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, //有本地缓存则加载,没有则重新请求 NSURLRequestReturnCacheDataElseLoad = 2, //有本地缓存则加载,没有也不重新请求,类似脱机工作 NSURLRequestReturnCacheDataDontLoad = 3, //只使用原始源的数据 NSURLRequestReloadRevalidatingCacheData = 5, };清除缓存的方法:
[[NSURLCache sharedURLCache] removeAllCachedResponses]; [[NSURLCache sharedURLCache] setDiskCapacity:0]; [[NSURLCache sharedURLCache] setMemoryCapacity:0];清除Cookie的方法:
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in [storage cookies]) { [storage deleteCookie:cookie]; }
