gpt4 book ai didi

c# - 设置AllowAutoRedirect = false仍然遵循重定向

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:40 25 4
gpt4 key购买 nike

我在本地开发了一个 MVC Controller ,它执行对 URL 的请求并设置...一切都很好:

HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url);
_WebRequest.Method = "GET";
_WebRequest.AllowAutoRedirect = false;
using (HttpWebResponse response = (HttpWebResponse)_WebRequest.GetResponse()) {
string _response = new StreamReader(response.GetResponseStream()).ReadToEnd();
[...]

当我在本地测试时,一切都很好,我得到了 302 重定向状态代码。我将其部署在 Azure(MVC 服务)上,相同的代码以不同的方式运行:基本上它遵循重定向并检索状态代码 200。

最佳答案

根据您的描述,我在本地端和Azure端都测试了这个问题。以下是详细内容,您可以引用并与您的场景进行比较。

/Home/TestRedirect:对包含 302 重定向的 URL 执行请求。

public ActionResult TestRedirect(bool allowAutoRedirect=true)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://bruce-chen-002.azurewebsites.net/home/doredirect");
request.Method = "GET";
request.AllowAutoRedirect = allowAutoRedirect;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
string _response = new StreamReader(response.GetResponseStream()).ReadToEnd();
return Content(_response);
}
}

/Home/DoRedirect 执行 302 重定向。

public ActionResult DoRedirect()
{
return Redirect("https://azure.microsoft.com");
}

1.本地测试

AllowAutoRedirect=true

AllowAutoRedirect=false

注意:您可以捕获服务器端请求,因为该站点是由本地 IIS 服务器启动的。要确定请求是否被重定向,您可以按照上面的方法检查您发送的原始请求的响应。

2.在Azure Web App上测试

AllowAutoRedirect=true

AllowAutoRedirect=false

注意:为了捕获 Azure 中的重定向,您可以利用 Application Insights ,然后您可以在 Azure 门户中的 Application Insights 的“概述 > 搜索”边栏选项卡下检索它,如下所示:

关于c# - 设置AllowAutoRedirect = false仍然遵循重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com