SMHttpDnsNetHandler.h 1.94 KB
//
//  SMHttpDnsNetHandler.h
//  DNSProxy
//
//  Created by cairui01 on 16/11/10.
//  Copyright © 2016年 baidu. All rights reserved.
//
#import "SMHttpDnsService.h"

NS_ASSUME_NONNULL_BEGIN
typedef void(^SMHttpDNSResolveCompletion)(NSDictionary<NSNumber *, NSArray<NSString *>*>* _Nonnull resolveResult, NSError *resolveError);
//static NSString const *HOST = @"180.76.76.112";//线上v4IP
//static NSString const *HOST = @"14.215.178.85";//线下v4IP
//static NSString const *HOST_V6 = @"[240c:4006::6666]"; // 线上v6IP
//static NSString const *HOST_V6 = @"[240e:83:205:51:0:ff:b07b:16a]"; // 线下v6IP
static NSString *ENCRPT_HOST = @"MTgwLjc2Ljc2LjExMg==";//线上v4加密IP
//static NSString *ENCRPT_HOST = @"MTQuMjE1LjE3OC44NQ==";//线下v4加密IP
static NSString *ENCRPT_HOST_V6 = @"WzI0MGM6NDAwNjo6NjY2Nl0=";//线上v6加密IP
//static NSString *ENCRPT_HOST_V6 = @"WzI0MGU6ODM6MjA1OjUxOjA6ZmY6YjA3YjoxNmFd";

@interface SMHttpDnsService ()
@property (nonatomic, copy, readwrite) NSDictionary *userInfo;
@end

@interface SMHttpDnsNetHandler : NSObject<NSURLSessionDelegate>
/**
 设置统计过滤器
 */
- (void)setDelegateForStatisticsFilter:(id<HttpDNSStatisticsDelegate>)delegate;

- (void)setAccountID:(NSString*)accountID;

- (void)setLableID:(NSString*)labelID;

- (void)setInterfaceVersion:(NSString*)interfaceVersion;

- (void)setGroup:(NSString *)group; // 设置实验组

- (void)setBackupIpsVersion:(NSString*)backupIpsVersion;

- (void)requestSingleDomain:(NSString*)domain;

- (void)requestMultiDomain;

- (void)localDnsResolveDomain:(NSString*)domain error: (NSError **)error;

- (void)requestSingleDomain:(NSString*)domain completion:(_Nullable SMHttpDNSResolveCompletion)completion;

- (NSArray *)localDnsResolveDomainSync:(NSString*)domain timeout:(double)timeoutInSeconds ipStack:(NSInteger)stack error: (NSError **)error;

- (void)localDnsResolveDomainAsync:(NSString*)domain completion:(SMHttpDNSResolveCompletion)completion;
@end
NS_ASSUME_NONNULL_END