aozhimin / aozhimin/iOS-Monitor-Platform

使用CFReadStreamCreateForHTTPRequest 截取网络请求,无果!

未關閉
#26 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
沒有語言資料
星號
2.6k
分支
484
PR 合併指標
30 天內沒有已合併 PR

描述

```objc
@implementation UIViewController (Hook1)
+ (void)load {
struct rebinding _request_binding = { "CFReadStreamCreateForHTTPRequest", wt_CFReadStreamCreateForHTTPRequest, (void *)&original_CFReadStreamCreateForHTTPRequest};

struct rebinding rebs[]={_request_binding};
rebind_symbols(rebs, 1);
}

static CFReadStreamRef
wt_CFReadStreamCreateForHTTPRequest(CFAllocatorRef __nullable alloc, CFHTTPMessageRef request);
CFReadStreamRef wt_CFReadStreamCreateForHTTPRequest(CFAllocatorRef __nullable alloc, CFHTTPMessageRef request) {

NSURL *url = (__bridge NSURL *)CFHTTPMessageCopyRequestURL(request);
NSString *method = (__bridge NSString *)CFHTTPMessageCopyRequestMethod(request);

CFReadStreamRef readStream = original_CFReadStreamCreateForHTTPRequest(alloc, request);

return readStream;
}

static CFReadStreamRef (*original_CFReadStreamCreateForHTTPRequest)(CFAllocatorRef, CFHTTPMessageRef);
@end
```
我想监控 CFNetwork 返回的结果,但是我不能收到返回结果,我使用的是 AFNetworking 做网络请求,但是我没能得到结果,请帮我指点一下,到底是哪里不对,难道一定要使用自己封装的 CFNetwork 请求网络才可以拿到交换的信息吗,我感觉只要底层是使用的 cfnetwork 作为请求底层应该就可以拿到信息,请帮忙看看是不是我哪里使用的不当导致的,谢谢。

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。