BBANetworkCloudDetectManager.h 1.42 KB
//
//  BBANetworkCloudDetectManager.h
//  BBAAPIRequestExt
//
//  Created by baidu on 2020/5/11.
//  Copyright © 2020 Baidu. All rights reserved.
//
//  云控探测管理类,对外提供云控探测能力

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface BBANetworkCloudDetectDNSResultModel : NSObject

@property (nonatomic, strong) NSArray<NSString *> *ipList;
@property (nonatomic, strong) NSError *dnsError;

@end

typedef BBANetworkCloudDetectDNSResultModel * _Nullable (^BANetworkCloudDetectIPGetter)(NSString *host);

@interface BBANetworkCloudDetectManager : NSObject

// HttpDns探测方法,通过host获取ip列表block,同步返回ip列表
@property (copy, nonatomic) BANetworkCloudDetectIPGetter ipGetter;

+ (instancetype)sharedManager;

// "commands":[
//    {
//        "command":"ping",  // 命令名称:"ping | tcp | https | http | dns | httpdns | traceroute"
//        "ip":"127.0.0.1",  // 目标ip
//        "url":"",          // 目标url
//        "port":"",         // 目标port
//        "host":"",         // 目标host
//        "repeat":5         // 命令执行次数 最大100次
//        "errorMsg":""      // 错误信息,command | repeat... is invalid
//        "result":[]        // 执行结果,数组,如5次探测结果
//    }
// ]
- (void)startDetectWithCommands:(NSDictionary *)commands completionBlock:(void (^)(NSDictionary *res)) completion;

@end

NS_ASSUME_NONNULL_END