4

我們正在將我們的應用程序從.net框架升級到.net core 2.0。.NET Core 2.0中的HttpWebRequest引發302發現異常

其中,我們用一個HttpWebRequest聯繫一個網站AllowAutoRedirect設置爲false。當代碼執行request.GetResponse()該網站將返回一個302響應,在.net框架中可以 - 您可以採取響應並處理它(我們在set-cookie標頭值之後)。

然而,在.NET 2.0的核心,引發WebException被拋出:

The remote server returned an error: (302) Found. 

我的理解是在一個302應該導致異常不正確被拋出,而如果AllowAutoRedirect設置爲false,那麼響應仍應該返還?有沒有什麼辦法可以觸發.net框架中經歷的相同行爲?

回答

2

當將AllowAutoRedirect設置爲false時,我得到了同樣的錯誤。 我剛好纏繞request.GetResponse()一個try-catch - 阻塞和分配異常的結果給一個變量

WebResponse response; 
try { 
    response = request.GetResponse(); 
} 
catch(WebException e) { 
    if(e.Message.Contains("302") 
     response = e.Result; 
} 
解決的問題