C# 任何C库都可以执行类似于httpwebrequest的webrequest,但不会引发异常

C# 任何C库都可以执行类似于httpwebrequest的webrequest,但不会引发异常,c#,exception,httpwebrequest,C#,Exception,Httpwebrequest,我正在寻找一个类似的库或类,比如httpwebrequest,它不会在http代码上抛出异常。c语言 httpwebrequest的问题是它的行为类似于401403和。。。作为异常,并在出现这些异常时引发异常。您可能知道异常抛出和处理是昂贵的。例如,在我的系统上,一个成功的请求大约需要30毫秒,但另一个导致异常的请求大约需要250毫秒! 我提出了很多请求,这些请求导致了http错误代码,这对我的代码性能影响很大。 我尝试过webclient、webrequest、httpclient,所有这些都

我正在寻找一个类似的库或类,比如httpwebrequest,它不会在http代码上抛出异常。c语言 httpwebrequest的问题是它的行为类似于401403和。。。作为异常,并在出现这些异常时引发异常。您可能知道异常抛出和处理是昂贵的。例如,在我的系统上,一个成功的请求大约需要30毫秒,但另一个导致异常的请求大约需要250毫秒! 我提出了很多请求,这些请求导致了http错误代码,这对我的代码性能影响很大。 我尝试过webclient、webrequest、httpclient,所有这些都是相同的

对替代库或如何避免这些异常有何意见?

请查看RestSharp。它是创建web请求的一个很好的工具

不会在400级错误上引发异常。尽管它会为基础问题(如网络连接、DNS故障、服务器证书验证或超时)引发异常


另外,它生成的HttpReponseMessage有一个方便的属性。

也许吧?我认为HttpClient不会抛出异常。无论如何,这是一个更新的实现。但我不认为异常是web请求中如此昂贵的一部分来关心它们。这是我个人关于异常的问题,如果你有代码抛出那么多异常,正如你所说的那样频繁,更好的解决方案是重新处理数据以避免抛出那么多异常,不要忽略或处理异常,因为对于您处理的每个异常,您都会将性能降低那么多,而您本来可以重新处理系统,以避免在第一时间抛出异常。我的代码只是检查是否存在大量URL。我无法阻止它们,因为它们是由httpwebrequest找不到的http代码404抛出的@TrevorHartHttpClient也有例外,而且例外非常昂贵。比较3毫秒和40毫秒@弗雷博士