美文网首页
iOS发送网络请求时设置HTTP代理

iOS发送网络请求时设置HTTP代理

作者: 要留胡子的先生 | 来源:发表于2018-04-20 14:11 被阅读0次

需求:iOS发送网络请求时设置HTTP代理

解决方法:利用NSURLSession发送网络请求,并进行相应的设置。

代码例:

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

    sessionConfig.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData;

    sessionConfig.connectionProxyDictionary =

    @{(NSString *)kCFStreamPropertyHTTPSProxyHost:@"XXX.XXX.XXX.XXX",

      (NSString *)kCFStreamPropertyHTTPSProxyPort:@XXXX,

      (NSString *)kCFNetworkProxiesHTTPEnable:@YES

      };

    NSString* proxyIDPasswd = [NSString stringWithFormat:@"XXXX:XXXXX"];

    NSData* proxyoriginData = [proxyIDPasswd dataUsingEncoding:NSUTF8StringEncoding];

    NSData* proxyencodeData = [GTMBase64 encodeData:proxyoriginData];

    NSString *proxyencodeResult = [[NSString alloc] initWithData:proxyencodeData encoding:NSUTF8StringEncoding];

    NSString *proxyendcode =[NSString stringWithFormat:@"Basic %@",proxyencodeResult];

    [request addValue:proxyendcode forHTTPHeaderField:@"Proxy-Authorization"];

NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:selfdelegateQueue:[NSOperationQueue mainQueue]];

    NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse * response, NSError *error) {

   }];

    [task resume];

相关文章

网友评论

      本文标题:iOS发送网络请求时设置HTTP代理

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