美文网首页
ASIHTTPRequest和AFNetworking绕过代理软

ASIHTTPRequest和AFNetworking绕过代理软

作者: 崔石炫 | 来源:发表于2016-07-06 12:17 被阅读0次

    ASIHTTPRequest

    在ASIHTTPRequest.m文件中的startRequest方法(1180行左右):

    //
    // Handle proxy settings
    //
    
    if (0) {
    //if ([self proxyHost] && [self proxyPort]) {
    // 这段代码不执行,不会使用系统默认的代理设置,能绕过Charles
      NSString *hostKey;
      NSString *portKey;
    
      if (![self proxyType]) {
       [self setProxyType:(NSString *)kCFProxyTypeHTTP];
      }
    
      if ([[self proxyType] isEqualToString:(NSString *)kCFProxyTypeSOCKS]) {
       hostKey = (NSString *)kCFStreamPropertySOCKSProxyHost;
       portKey = (NSString *)kCFStreamPropertySOCKSProxyPort;
      } else {
       hostKey = (NSString *)kCFStreamPropertyHTTPProxyHost;
       portKey = (NSString *)kCFStreamPropertyHTTPProxyPort;
       if ([[[[self url] scheme] lowercaseString] isEqualToString:@"https"]) {
        hostKey = (NSString *)kCFStreamPropertyHTTPSProxyHost;
        portKey = (NSString *)kCFStreamPropertyHTTPSProxyPort;
       }
      }
      NSMutableDictionary *proxyToUse = [NSMutableDictionary dictionaryWithObjectsAndKeys:[self proxyHost],hostKey,[NSNumber numberWithInt:[self proxyPort]],portKey,nil];
    
      if ([[self proxyType] isEqualToString:(NSString *)kCFProxyTypeSOCKS]) {
       CFReadStreamSetProperty((CFReadStreamRef)[self readStream], kCFStreamPropertySOCKSProxy, proxyToUse);
      } else {
       CFReadStreamSetProperty((CFReadStreamRef)[self readStream], kCFStreamPropertyHTTPProxy, proxyToUse);
      }
     }
    

    AFNetworking

    
    

    相关文章

      网友评论

          本文标题:ASIHTTPRequest和AFNetworking绕过代理软

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