美文网首页
使用NSURLSession进行重定向

使用NSURLSession进行重定向

作者: lanxuping | 来源:发表于2017-04-01 14:29 被阅读111次

使用URLSession进行重定向

NSURL *url = [NSURL URLWithString:@"http://c.snnd.co/api/v4/click?campaign_id=4410534&publisher_id=52&rt=170401034908&_po=4f6801b69d272e96bbb920659a2f805b&_mw=p&_c=972&_cw=c&_ad=1288&publisher_slot=260&sub_1=pst2977485&pub_gaid=&pub_idfa=ADB6E76C-6B91-455B-81BE-DB884CC17818&pub_aid=&sub_2=695-669-773_33_0.300_20131822574410534260_iOS_1491019272&sub_3=Y29tLmdtZWRhbC5nb2xkZ21lZGFsKG5hdDMp_US_hcvr.ecpm5_i-1.5.3___ADB6E76C-6B91-455B-81BE-DB884CC17818&ch=pst"];
NSMutableURLRequest *quest = [NSMutableURLRequest requestWithURL:url];
quest.HTTPMethod = @"GET";
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
config.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
NSURLSession *urlSession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue currentQueue]];
NSURLSessionDataTask *task = [urlSession dataTaskWithRequest:quest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
   NSHTTPURLResponse *urlResponse = (NSHTTPURLResponse *)response;
   NSLog(@"%ld",urlResponse.statusCode);
   NSLog(@"%@",urlResponse.allHeaderFields);
   NSDictionary *dic = urlResponse.allHeaderFields;
   NSLog(@"%@",dic[@"Location"]);
}];
[task resume];

遵守代理如下,completionHandler(nil)则拦截重定向;

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
willPerformHTTPRedirection:(NSHTTPURLResponse *)response
        newRequest:(NSURLRequest *)request
 completionHandler:(void (^)(NSURLRequest * __nullable))completionHandler{
    NSHTTPURLResponse *urlResponse = (NSHTTPURLResponse *)response;
    NSLog(@"%ld",urlResponse.statusCode);
    NSLog(@"%@",urlResponse.allHeaderFields);
    
    NSDictionary *dic = urlResponse.allHeaderFields;
    NSLog(@"%@",dic[@"Location"]);
    completionHandler(request);
    
}

相关文章

  • 使用NSURLSession进行重定向

    使用URLSession进行重定向 遵守代理如下,completionHandler(nil)则拦截重定向;

  • 上传/下载

    使用NSURLSession进行上传和下载任务,NSURLSession是iOS7之后推出的,具有downLoad...

  • NSURLSession

    文档参考 iOS使用NSURLSession进行下载(包括后台下载,断点下载) NSURLSessionDownl...

  • 使用NSURLConnection进行重定向

    使用NSURLConnetion类的NSURLConnectionDataDelegate中的代理方法 创建NSU...

  • NSURLSession

    NSURLSession基本使用 简介 使用步骤使用NSURLSession会话对象创建Task,然后执行Task...

  • Shell 输入输出重定向

    重定向就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为:输入重定向、输出...

  • iOS网络编程(十)

    NSURLSession 使用步骤使用NSURLSession对象创建Task,然后执行Task -(void)g...

  • NSURLSession

    NSURLSession基本使用 使用步骤NSURLSession支持HTTP 2.0协议 , 可以通过share...

  • NSURLSession的基本使用

    1. 使用步骤使用NSURLSession创建task,然后执行task 关于taska.NSURLSession...

  • NSURLSession知识点

    使用步骤 使用NSURLSession对象创建Task,然后执行Task Task的类型 NSURLSession...

网友评论

      本文标题:使用NSURLSession进行重定向

      本文链接:https://www.haomeiwen.com/subject/nfpiottx.html