我想编写一个 MobileSubstrate ( http://www.iphonedevwiki.net/index.php/MobileSubstrate ) 插件,它接受每个 HTTP 请求并修改 URL。(原因非常复杂,需要一段时间才能解释,所以请相信我,别无选择)。基本上,我需要知道什么是最好的 Objective-C 消息或 C 函数,我应该覆盖它以拦截任何 HTTP 请求、修改 URL 并将请求发送回原始函数(这不应该只是发送的第一个请求通过应用程序,但也有任何重定向)。我认为它可能在 NSURL 或 CFNetwork 中,但不确定具体在哪里。替换此功能后,应可与任何应用程序和操作系统本身一起使用。
编辑:好的,这是我想要做的两个示例场景,请注意,要覆盖的方法应该是从应用程序到操作系统的任何地方的任何 HTTP 请求调用的方法:
1)MobileSafari 中的用户类型在 aaa.com/ a.html
2) aaa.com/a.html 重定向到 aaa.com/b.html
3) aaa.com/b.html 加载 bbb.com/c.png
我想更改请求,所以一切都有 ?i= j 补充说。
例如:将所有 aaa.com/a.html 更改为 aaa.com/a.html?i=j, aaa.com/b.html?i=j, bbb.com/c.png?i=j?
还有一个:
1)用户使用 Maps.app
2)谷歌地图尝试加载 google.com/map1.png(不是实际图像,我知道)
将 google.com/map1.png 更改为 google.com/map1.png?我=j?