2012-04-18 41 views
9

NSURLProtocolClient協議包括一個方法-URLProtocol:wasRedirectedToRequest:redirectResponse:,NSURLProtocol子類的實例應該用來告訴URL協議客戶端該請求已被重定向。但是,我不確定URL協議是否應該嘗試從重定向的URL中檢索資源,或者讓客戶端爲該資源發出新的請求。自定義的NSURLProtocol應該遵循重定向,還是讓客戶擔心?

任何人都可以告訴我什麼原始URL協議對象應該在重定向的情況下做什麼?

回答

3

要回答這個問題,我只是刪除了我的URL協議實現中的代碼,它遵循重定向響應中給出的鏈接。如果連接客戶端創建一個新的連接來加載新的URL,它應該是非常明顯的。事實證明,什麼都沒有發生 - 客戶端從不創建新的連接,並且不遵循重定向。從這我得出結論,URL協議本身應該嘗試加載重定向響應中給出的URL。

+0

我想實現我自己的URL協議,並在其中,我想在協議中自動加載重定向的URL並將其發送到URL加載系統。將URL:key更改爲響應中的重定向URL還是足夠了,還是需要做更多工作? – Ravi 2014-06-11 12:25:43

+1

感謝您解決這個問題。我沒見過提及處理重定向的NSURLProtocol教程。 – bugloaf 2014-11-07 21:30:03