我正在創建一個消耗json web服務的iPhone應用程序。我有用於從web服務加載JSON數據的NSURLRequest和NSURLConnection的對象:iOS NSURLConnection對象始終返回相同的響應
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
initWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30];
[request setHTTPMethod: @"POST"];
//[request setHTTPShouldHandleCookies:YES];
//create connection
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:request delegate:self];
[connection start];
我第一次執行上面的代碼,使用作爲URL「admin.mydomain.com/param1/value1/param2/value2「,響應正確傳遞(一個JSON字符串:{」錯誤的API密鑰「})。
然後我將url更改爲我的登臺服務器:「admin.stg.mydomain.com/param1/value1/param2/value2」。這個服務器爲我提供了一些完全不同的輸出(當我在瀏覽器中嘗試新的url時,顯示了正確的輸出,與第一個url完全不同的json對象),但在我的iphone應用程序中,我從另一臺服務器得到同樣的迴應。如果我嘗試不存在的網址,我會收到正確的錯誤消息。
它似乎已經緩存了原始服務器的結果,併爲我的stg子域返回相同的值,不知何故匹配兩個網址(這可能嗎?),但我已清除了所有可找到的緩存數據。我試圖清理構建和構建目錄,重新啓動xcode,計算機和所有內容,緩存策略設置爲忽略緩存(請參閱代碼)。重要提示:我在我的實際iPhone上獲得了相同的行爲,而不僅僅是模擬器。
有沒有人有任何想法可能會導致這種行爲?我忘了一些明顯的東西嗎?
我一直在尋找這個小時結束現在,任何幫助非常感謝!
您是否嘗試過記錄您的url.description並將其放入瀏覽器? – RileyE 2012-07-13 19:09:58
完整的URL創建代碼是什麼樣的? – 2012-07-13 19:15:04
這可能是DNS問題還是使用不同虛擬主機的結果?嘗試檢查您的ios模擬器或設備瀏覽器中的兩臺服務器,以確保該設備的連接與您的開發環境使用相同的DNS。 – 2012-07-13 19:23:12