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; 
} 
解决的问题