我用下面的代碼獲取一個aspx頁面如何關注「頁面自動重定向」以獲取響應代碼?
HttpConnection connection
= (HttpConnection) Connector.open("http://company.com/temp1.aspx"
+ ";deviceside=true");
connection.setRequestMethod(HttpConnection.GET);
connection.setRequestProperty(HttpHeaders.HEADER_CONNECTION, "close");
connection.setRequestProperty(HttpHeaders.HEADER_CONTENT_LENGTH, "0");
int resCode = connection.getResponseCode();
它工作正常,返回的響應代碼。 但是如果鏈接「http://company.com/temp1.aspx」自動重定向到另一頁面會怎麼樣;假設「http://noncompany.com/temp2.aspx」? 如何獲得從第二個鏈接(第一個鏈接重定向到的鏈接)返回的響應代碼? 有沒有像「跟隨重定向」來獲得自動重定向到的頁面的新響應?
在此先感謝。
您可能希望用for循環替換while(true)語句(最多5-10次嘗試)以防止進入無限重定向循環,有時可能會發生配置錯誤的Web服務器或代理服務器。 – 2010-01-12 18:12:12
感謝Marc發表評論。我認爲還有另一種解決方案,例如通過將每個新位置(鏈接)添加到向量中來跟蹤重定向鏈接,並且每當找到新的重定向鏈接時,代碼應該首先檢查它是否存在於向量中,因爲如果它存在,它會導致循環無限重定向。感謝這封信。 – 2010-01-13 09:42:30