0
我正在嘗試找出一種方法來查找使用AFNetworking的請求發送/接收的數據量。解決這個問題的一些最佳實踐是什麼?使用AFNetworking跟蹤網絡請求的數據使用
例子:
- 做一個GET到端點
fakeapi/downloadlist
- 我想知道有多少字節發送給服務器和多少字節被收了回來。
感謝您的幫助!
我正在嘗試找出一種方法來查找使用AFNetworking的請求發送/接收的數據量。解決這個問題的一些最佳實踐是什麼?使用AFNetworking跟蹤網絡請求的數據使用
例子:
fakeapi/downloadlist
感謝您的幫助!
讓我們用AFHTTPSessionManager
上的GET:parameters:success:failure:
method來執行GET請求。該方法的聲明是:
- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(nullable id)parameters
success:(nullable void (^) (NSURLSessionDataTask *task, id _Nullable responseObject))success
failure:(nullable void (^) (NSURLSessionDataTask *_Nullable task, NSError *error))failure;
有這裏有趣兩大塊:一爲成功(命名非常巧妙success
),另一個是在請求一個failure
。
這兩個塊都會返回一個類型爲NSURLSessionDataTask的參數(在失敗事件中爲空,如果是這種情況,那麼沒有響應,最有可能在沒有互聯網連接時發生)。根據Apple Documentation for NSURLSessionDataTask
,它從NSURLSessionTask
繼承,能夠獲得響應對象的一些其它性質(以上的符號部分一看就文檔):
int bytesReceived = ((int)[task countOfBytesReceived]);
int bytesSent = ((int)[task countOfBytesSent]);
// Do something with the numbers from here...
從這裏
此外,採取對一個外表Symbols for NSURLSessionTask並採取任何你需要的東西。