C#:开销最小的Web请求(从URL抓取文本)?

C#:开销最小的Web请求(从URL抓取文本)?,c#,.net,C#,.net,HttpWebRequest类似乎是一个相当繁重的类,并且加载了很多功能 我只需要(以尽可能快和低的开销)从Url获取响应,而不需要任何其他花哨的功能。实现这一目标的最快的方法是什么 谢谢大家! 您是否做过任何基准测试来验证使用WebRequest是否不是您所需要的,并指出了WebRequest的特殊特性使其成为现实?WebRequest向URI发出HTTP请求并获取响应。WebRequest类中的任何其他功能都可能存在,但如果您没有实际使用它,它不会影响任何东西。您是否真的耗尽了资源,而Web

HttpWebRequest类似乎是一个相当繁重的类,并且加载了很多功能

我只需要(以尽可能快和低的开销)从Url获取响应,而不需要任何其他花哨的功能。实现这一目标的最快的方法是什么


谢谢大家!

您是否做过任何基准测试来验证使用WebRequest是否不是您所需要的,并指出了WebRequest的特殊特性使其成为现实?WebRequest向URI发出HTTP请求并获取响应。WebRequest类中的任何其他功能都可能存在,但如果您没有实际使用它,它不会影响任何东西。您是否真的耗尽了资源,而WebRequest才是罪魁祸首

在回复这些评论时,您说您正在使用WebClient—这比使用WebRequest要重要得多。

您可以这样做

string url = "www.example.com";
IPAddress[] addresses = Dns.GetHostAddresses(url);
要查找IP,请使用TCP客户端将您自己的最小化自定义http请求发送到服务器,从而产生纯粹的基于流的响应。没有比这更低的开销:)


顺便说一句;如果您不需要完整的响应,但只需要检查一些基本信息,请查看HTTP HEAD requesttype

我不知道在.Net中有什么能比WebRequest做得更好或更有效。这会给您带来性能问题吗?在评测时,WebClient实例化占我整个(相当大的)控制器代码的60%。所以我想知道是否有更快的选择,特别是因为我只需要有限的功能。如果没有,那也没关系,至少我当时知道:)你不担心HTTP调用本身,只担心HttpWebRequest方法的实例化?就性能而言,没有比通过网络拨打电话更好的、保证性能的方法了。(IMHO)如果60%等于5分钟,那么你就有问题了,如果是500毫秒,我不会抱怨。很有创意:)不,我需要实际的回复内容。我想HttpWebRequest已经很好了。我刚刚注意到,与控制器方法的其余代码相比,实例化Web请求花费了大量时间,我想知道我是否可以在这里通过更改到另一个对象来进行一些快速(过早)优化。我想没有别的办法了!