gpt4 book ai didi

ios - 如何获取当前请求连接服务器的IP地址

转载 作者:行者123 更新时间:2023-11-28 23:36:40 43 4
gpt4 key购买 nike

当我使用NSURLSession时,我需要获取当前请求的连接服务器IP地址。有哪些方法?

我正在尝试使用

-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics

但似乎没有目标IP地址。

How can I get the exactly ip address which used to connect in iOS?的补充:

我的需求是监控现有项目中的网络性能,因此无法用CFNetwork替换NSURLsesion。或者谁能​​告诉我如何 Hook 使用较低级别的方向?

提前致谢!

最佳答案

我已在

中收集了此数据
 -(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metric

不幸的是,它是一个私有(private) api。

代码是:

SEL selector = NSSelectorFromString(@"_timingData");

NSDictionary *timingData = nil;
if ([task respondsToSelector:selector]) {
timingData = [task performSelector:selector];
}
NSString *remoteServerIP = @"";
if (timingData && [timingData isKindOfClass:[NSDictionary class]]) {
NSString *key = @"_kCFNTimingDataRemoteAddressAndPort";
remoteServerIP = timingData[key];
}

关于ios - 如何获取当前请求连接服务器的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54758498/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com