首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.NET中使用httpWebRequest时"尝试了太多自动重定向"错误消息

在.NET中使用HttpWebRequest时,如果遇到"尝试了太多自动重定向"错误消息,通常是因为请求被重定向过多次而导致的。HttpWebRequest默认允许最多5次重定向,但是在某些情况下,可能需要更多次重定向。

要解决这个问题,可以在HttpWebRequest中设置AllowAutoRedirect属性为false,然后手动处理重定向。以下是一个示例代码:

代码语言:csharp
复制
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com");
request.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

if (response.StatusCode == HttpStatusCode.Redirect || response.StatusCode == HttpStatusCode.MovedPermanently)
{
    string location = response.Headers["Location"];
    HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create(location);
    HttpWebResponse newResponse = (HttpWebResponse)newRequest.GetResponse();
}

在这个示例中,我们首先设置AllowAutoRedirect为false,然后检查响应的状态码是否为重定向。如果是重定向,我们可以从响应头中获取重定向的URL,然后创建一个新的HttpWebRequest,并手动处理重定向。

需要注意的是,手动处理重定向可能会导致性能问题,因为它需要多次请求和响应。因此,在使用HttpWebRequest时,应该尽量避免使用过多的重定向。

相关搜索:是否在重定向到新视图时保留rails中的验证错误消息?使用if语句时在Python中接收错误消息(已关闭)在.NET 4.0中使用4.0服务时出现连接错误在ASP Net Core 3.1中,使用ajax时,cookie不会重定向到登录页面解决ecs中在docker容器中使用php时重定向错误过多的问题尝试在Swift 4、IOS 11中使用过滤器时出现错误消息我在尝试使用python -m pip install datatable在python 3.7.4中安装datatable时收到错误消息。在spring message.properties中,如何在使用错误代码作为键时确保错误消息的换行符?在Windows10中使用vb6时出现vb6自动化错误当网页在我的浏览器中工作正常时,http.Get在一次使用后返回错误429太多的请求在angular中尝试使用x-www-form-urlencoded的post方法时,收到错误消息400 (Bad Request)在.NET Core2.2Web API中使用IIS时自动生成的web.config中的硬编码路径在使用Picasso在通知中显示位图图像时,我收到“无法创建图像解码器并显示消息‘未实现’”错误尝试在asp.net mvc5中使用web/Api的POST方法时出现405状态错误拒绝访问用户'root‘@localhost(使用密码: yes),在spring boot中运行我的项目时出现以下错误消息在我使用python tkinter的计算器GUI中,当我再次编写表达式时,entry小部件中的'Error‘消息不会自动删除在ng2-ckeditor中使用Angular中的ckeditor自动完成插件时,如何解决IE/Edge中的“权限被拒绝”错误我可以使用xpath在Appium Inspector中手动定位元素,但是当我运行代码时,我收到错误消息,因为element not located for same xpath
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# HTTP系列1 HttpWebRequest

.NET Framework System.Net 命名空间下提供了 HttpWebRequest 和 HttpWebResponse 2个类,他们是用于发送和接收HTTP数据的最好选择。...为保持活动状态或通过管道传递的连接,我们强烈建议应用程序直到 EOF 读取流。 这可确保将生成更好的性能和更低的使用的资源的后续请求重复使用套接字。...对于使用HttpWebRequest的客户端身份验证,客户端证书必须安装在当前用户的My certificate store。   ...该HttpWebRequest的类会引发引发WebException同时访问资源发生错误。该WebException.Status属性包含一个WebExceptionStatus值,指示错误的来源。...如果在配置文件未指定代理且未指定Proxy属性,则HttpWebRequest类将使用从本地计算机上的Internet Explorer继承的代理设置。

6.5K20
  • C#HttpWebRequest的用法详解

    下面是HttpWebRequest的一些属性,这些属性对于轻量级的自动化测试程序是非常重要的。 l AllowAutoRedirect:获取或设置一个值,该值指示请求是否应跟随重定向响应。...C# HttpWebRequest提交数据方式学习之前我们先来看看什么是HttpWebRequest,它是 .net 基类库的一个类,命名空间 System.Net 下面,用来使用户通过HTTP协议和服务器交互...C# HttpWebRequest的作用: HttpWebRequest对HTTP协议进行了完整的封装,对HTTP协议的 Header, Content, Cookie 都做了属性和方法的支持,很容易就能编写出一个模拟浏览器自动登录的程序...POST 方式通过页面内容填写参数的方法来完成数据的提交,参数的格式和 GET 方式一样,是类似于 hl=zh-CN&newwindow=1 这样的结构。...使用 POST 方式提交中文数据。 POST 方式通过页面内容填写参数的方法来完成数据的提交,由于提交的参数可以说明使用的编码方式,所以理论上能获得更大的兼容性。

    4.4K20

    C# HTTP系列5 HttpWebResponse.StatusCode属性

    接收到此状态的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 重定向的请求将使用 GET 方法。 找到是的同义词重定向。...接收到此状态的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 重定向的请求将使用 GET 方法。 移动是的同义词MovedPermanently。...接收到此状态的默认操作为遵循与响应关联的 Location 标头。原始请求方法为 POST 重定向的请求将使用 GET 方法。 重定向是的同义词找到。...接收到此状态的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 重定向的请求还将使用 POST 方法。...接收到此状态的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 重定向的请求还将使用 POST 方法。

    2.2K20

    C# HTTP系列13 以form-data方式上传多个文件以及键值对集合到远程服务器

    此点击【提交】按钮,Form提交请求数据,Fiddler抓包看到的请求如下(无关的请求头本文中都省略掉了): ? ?...此点击【提交】按钮,Form提交请求数据,Fiddler抓包看到的请求如下(无关的请求头本文中都省略掉了): ?...请使用 WebRequestMethods.Http 的枚举值 9 /// 获取或设置 <see cref="M:System.<em>Net</em>.<em>HttpWebRequest</em>.GetResponse...*/ 45 #endregion 46 47 #region <em>HttpWebRequest</em>.CookieContainer <em>在</em> .<em>NET</em>3.5 与 .<em>NET</em>4.0 <em>中</em>的不同 48...请<em>使用</em> WebRequestMethods.Http 的枚举值 9 /// 获取或设置 <see cref="M:System.Net.HttpWebRequest.GetResponse

    2.7K30

    .NET HttpWebRequest(请求被中止: 未能创建 SSLTLS 安全通道)和(基础连接已经关闭: 发送发生错误)问题查找解决

    前言:   前段时间在对接第三方接口的时候发生了一个非常奇葩的问题,就是使用 .NET Framework 4.6 HttpWebRequest进行网络请求的相关问题。...背景,关于调用第三方的接口都是使用使用自己封装的一个HttpWebRequestHepler帮助类,本地开发时调用第三方接口都是正常的。...然而当我部署到运维给我一个服务器(阿里云服务器)刚开始提示是请求被中止: 未能创建 SSL/TLS 安全通道,之后经过一番修改以后就是提示基础连接已经关闭: 发送发生错误。...之后尝试了各种方法,还是没有办法解决基础连接已经关闭: 发送发生错误这个问题。最后真的是无能为力,光这个问题找了一下午的解决方案,最后换到了我自己的阿里云服务器是可以正常调通第三方接口的。...三、基础连接已经关闭: 发送发生错误 这个问题查阅了网上几个比较典型的博客试了下,结果都没有办法解决我的问题,一下记录下这几个博客的解决方案,希望可以帮助到遇到这样问题的小伙伴。

    8K40

    【安富莱】【RL-TCPnet网络教程】第11章 RL-TCPnet调试方法

    由于Net_Debug.c文件可以使能的选项较多,实际测试中使能太多的话,会打印出非常多的信息,完全看不过来,所以实际测试的时候最好需要调试哪些功能,就开启哪些选项。...MDK工程打开文件Net_Debug.c,可以看到下图所示的工程配置向导: ? Print Time Stamp 勾选了此选项的话,打印消息,前面会附带时间信息。...Errors only:表示仅在此选项出错,将其错误打印出来。 Full debug:表示此选项的全功能调试。...其它的调试选项,大家也可以自行开启测试,我们这里就不测试了。另外注意,选项不要开的太多,否则打印的信息内容太多,看不过来。...其它的调试选项,大家也可以自行开启测试,我们这里就不测试了。另外注意,选项不要开的太多,否则打印的信息内容太多,看不过来。 11.4 总结 本章节为大家讲解这么多,建议实际操作演练下,实践出真知。

    65070

    HTTP.NET的一些应用和解析

    .NET框架里面对HTTP协议的处理主要采用WebRequest对象,我们的.NET项目中如果需要生成HTTP请求或者处理HTTP请求,会运用HttpWebRequest和HttpWebResponse...实际项目的开发,有一些需求需要同地方平台进行数据交互,例如我们经常使用的微信,支付宝,QQ等等平台,这就需要我们自己的项目中生成对应的HTTP请求和处理相关HTTP请求信息。    ...如何在我们的系统后台生成对应的HTTP请求,这个事情就需要对HTTP协议做一个简单的了解:     HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文。...在谈到.NET的同步,需要介绍一下同步和异步的相关内容:    同步,可以理解为执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令...异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息,系统会自动触发委托的异步过程,从而完成一个完整的流程。  ?

    81790

    HTTP状态码列表

    1xx消息——请求已被服务器接收,继续处理 2xx成功——请求已成功被服务器接收、理解、并接受 3xx重定向——需要后续操作才能完成这一请求 4xx请求错误——请求含有词法错误或者无法被执行 5xx服务器错误...[2] 当且仅当后续的请求所使用的方法是GET或者HEAD,用户浏览器才可以没有用户介入的情况下自动提交所需要的后续请求。...如果服务器本身已经有了首选的回馈选择,那么Location应当指明这个回馈的URI;浏览器可能会将这个Location值作为自动重定向的地址。此外,除非额外指定,否则这个响应也是可缓存的。...注意:虽然RFC 1945和RFC 2068规范不允许客户端重定向改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用GET方式访问Location规定的URI,而无视原先请求的方法...[30] 如果错误发生客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。

    78230

    ASP.NET Core | 笔记

    ASP.NET Core 启用跨域 参考: ASP.NET CORE (CORS) 跨 ASP.NET Core | Microsoft Docs 同一源 如果两个 URL 具有相同的方案、...http://example.com/foo.html:不同的方案 https://example.com:9000/foo.html:不同的端口 启用 CORS 有三种方法可以启用 CORS: 使用命名策略或默认策略的中间件...app.UseRouting(); app.UseCors(); 使用中间件Caching UseCors 之前调用 UseResponseCaching 。...该库遵循完整的编译流程,提供完整的错误提示, 可自动添加引用,完善的数据结构构建模板让开发者只专注于程序集脚本的编写,兼容 stanadard2.0 / netcoreapp3.0+, 跨平台,统一、简便的链式...还可以通过以下项目属性 dll 或 exe embed 它们:embedded 创建符号包 如果使用 dotnet CLI 或 MSBuild,则除

    4.6K20

    C# HttpClient使用和注意事项,.NET Framework连接池并发限制

    通过这段描述我们知道实际使用HttpClient的时候我们只需要实例化一个就行了,处理程序实例内池连接,并在多个请求之间重复使用连接。...所以如果是大批量创建HttpClient请求则大量负载下可用的套接字数将耗尽,这种耗尽将导致 SocketException 错误使用方式 使用静态变量。...如果连接处于空闲状态,则连接会立即关闭;否则,连接在当前请求结束关闭。 ConnectTimeout:指定在请求需要创建新的 TCP 连接使用的超时。 如果发生超时,将取消请求 Task 。...每个平台上, HttpClient 尝试使用最佳可用传输: 注意事项 在上面实现可以看到不同的框架下HttpClient的实现是不一样的,.NET Framework下是使用HttpWebRequest...RestSharp 平时我们可能使用RestSharp 用于网络请求,实际也是HttpWebRequest上的封装,官网我们可以看到如下说明: 最新的v107换成了HttpClient,以前的版本也是

    1.6K20

    WebClient, HttpClient, HttpWebRequest ,RestSharp之间的区别与抉择

    01 HttpWebRequest 这是.NET创建者最初开发用于使用HTTP请求的标准类。...另一个好处是HttpWebRequest类不会阻塞UI线程。例如,当您从响应很慢的API服务器下载大文件,您的应用程序的UI不会停止响应。 然而,强大的个性化操作带来了极大的复杂性。...02 WebClient WebClient是一种更高级别的抽象,是HttpWebRequest为了简化最常见任务而创建的,使用过程你会发现他缺少基本的header,timeoust的设置,不过这些可以通过继承...使用WebClient可能比HttpWebRequest直接使用更慢(大约几毫秒)。但这种“低效率”带来了巨大的好处:它需要更少的代码和隐藏了细节处理,更容易使用,并且使用你不太可能犯错误。...:NetCore 2.1的HttpClientFactory最佳实践 04 RestSharp restsharp是开源社区贡献,具有HttpWebRequest的细节控制和WebClient的使用简单的优点从而让他功能强大的同时又简化了操作

    1.1K10

    错误记录】Flutter 报错 Downloading the Dart SDK using the BITS service failed, retrying with WebRequest...

    文章目录 一、 报错信息 二、解决方案 ( 检查镜像地址环境变量设置 ) 1、检查镜像地址环境变量设置 ( 错误方案 没有解决问题 ) 2、尝试使用官方地址 三、总结 1、官方镜像 ( 推荐方案 )...+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest...-> 高级系统设置 -> 高级 -> 环境变量 ; MAC 设置环境变量 : 命令行使用 export 命令 ; export PUB_HOSTED_URL=https://pub.flutter-io.cn...export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 2、国内镜像 ( 备选方案 ) 刚测试了下 都挂了 , 没法用 ; 中国国内使用镜像...: 右键点击 " 我的电脑 / 此电脑 " -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 ; MAC 设置环境变量 : 命令行使用 export 命令 ; export PUB_HOSTED_URL

    1.2K00

    Visual Studio 2017 – Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小d…

    并编译 点击之后会自动检测安装包需要的dll文件,全部勾选 可以重命名快捷方式,我这里没有选择重命名 下一步,可选安装后启动应用程序,我这里选择了按下完成按钮可选启动 可选多种主题....NET记录-获取外网IP以及判断该IP是属于网通还是电信 工作,需要获取服务器公网IP(外网IP),并且判断该IP地址是属于网通还是电信。...req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri); req.Method = "get"; using (System.IO.Stream...req = System.Net.WebRequest.Create(uri) as System.Net.HttpWebRequest; if (req !...req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri); req.Method = “get”; using (System.IO.Stream

    83710
    领券