我想編寫一個MobileSubstrate(http://www.iphonedevwiki.net/index.php/MobileSubstrate)插件,它可以接收每個HTTP請求並修改URL。 (原因很複雜,需要一段時間才能解釋,所以請相信我沒有其他選擇)。基本上,我需要知道什麼是最好的Objective-C消息或C函數,我應該覆蓋以攔截任何HTTP請求,修改URL並將請求發送回原始函數(這不應該只是第一個發送的請求由應用程序,但也包括任何重定向)。我認爲它可能在NSURL或CFNetwork中,但我不確定它究竟在哪裏。這個功能應該在更換後與任何應用程序和操作系統本身配合使用。使用MobileSubstrate修改iPhoneOS上的所有HTTP請求?
編輯: 好吧,這裏是什麼,我希望做兩分樣品的情況,注意方法重寫應該是一個由所有HTTP請求從應用程序到操作系統的任何地方稱爲:
1)用戶Mobile aafari類型aaa.com/a.html
2)aaa.com/a.html重定向到aaa.com/b.html
3)aaa.com/b.html加載bbb.com/c.png
我想改變請求,所以一切都有了?i = j加。
EX:將所有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?i=j?
好吧,這裏是一個示例場景:在MobileSafari類型 1)用戶在aaa.com/a.html 2)aaa.com/a.html重定向to aaa.com/b.html 3)aaa.com/b.html加載bbb.com/c.png 當我用我的代碼替換「 - [NSURLConnection sendWillSendRequest:redirectResponse:]」以將?i = j添加到所有html請求,它是否會將所有aaa.com/a.html更改爲aaa.com/a.html?i=j,aaa.com/b.html?i=j,bbb.com/c.png?i= J′ – Yifan 2010-04-29 11:21:21
另一個: 1)用戶使用Maps.app 2)Google地圖嘗試加載google.com/map1.png(我不知道這是實際圖片) 替換該方法是否將google.com/map1.png更改爲google.com/map1.png?i=j? 此外,我正在撰寫的這個移動襯底插件僅供內部使用。 – Yifan 2010-04-29 11:23:39
另外,感謝您的迴應。 – Yifan 2010-04-29 11:27:35