Suzhibin / ZBNetworking

AFNetworking4.X封装 GET/POST /PUT/PATCH /DELETE / UPLOAD /DOWNLOAD 网络请求 添加了缓存机制,插件机制,断点下载,重复请求的处理,取消当前请求等功能.支持iOS,macOS, watchOS, tvOS
MIT License
242 stars 44 forks source link

能否将下面的代码融合进去? #12

Closed 295060456 closed 3 years ago

295060456 commented 3 years ago

/// 打印请求体 +(void)printRequestMessage:(NSURLSessionDataTask *)task{

/*
// 请求URL
NSLog(@"请求URL:%@\n",task.originalRequest.URL);

// 请求方式
NSLog(@"请求方式:%@\n",task.originalRequest.HTTPMethod);

// 请求头信息
NSLog(@"请求头信息:%@\n",task.originalRequest.allHTTPHeaderFields);

// 请求正文信息
NSLog(@"请求正文信息:%@\n",[[NSString alloc] initWithData:task.originalRequest.HTTPBody encoding:NSUTF8StringEncoding]);
*/

// 请求响应时间
NSTimeInterval time = [[NSDate date] timeIntervalSinceDate:NSDate.date];
NSLog(@"请求响应时间:%@\n",@(time));
NSLog(@"\n请求URL:%@\n请求方式:%@\n请求头信息:%@\n请求正文信息:%@\n请求响应时间:%@\n",task.originalRequest.URL,task.originalRequest.HTTPMethod,task.originalRequest.allHTTPHeaderFields,[[NSString alloc] initWithData:task.originalRequest.HTTPBody encoding:NSUTF8StringEncoding],@(time));

}

295060456 commented 3 years ago

我才看到你有打印 不好意思 是我疏忽了 我大意了没有闪

Suzhibin commented 3 years ago

自带的打印没有你的多,你可以在 插件方法setResponseProcessHandler 方法内 自定义设置

295060456 commented 3 years ago

找到你说的这个方法了 image 但是NSURLSessionDataTask * 我怎么取?

Suzhibin commented 3 years ago

此方法返回的 responseObject 是正文信息。还有request对象 里面也有很多请求信息包含task,都有注释。

295060456 commented 3 years ago

因为我在想这么一个场景。就是后台直接要我打印我的请求头,该怎么办?就是请求头的全部数据。 你有预处理机制,预处理请求、预处理响应。所以你的这个setResponseProcessHandler返回有三个数据,第一个是请求对象,一个是响应的结果,还有个是错误。我只能到这里了,具体该怎么加我就不知道了

Suzhibin commented 3 years ago

请求对象 的属性有请求头 ,应该满足你的需求, 你可以参考demo内的RequestTool 类的插件机制使用。公共配置和插件 在app启动之后 请求之前设置就可以。