gpt4 book ai didi

c# - 有没有更快的方法从网站下载内容?

转载 作者:行者123 更新时间:2023-11-30 20:05:05 26 4
gpt4 key购买 nike

现在这是我的代码:

private string downloadContent() 
{
try
{
WebRequest request = WebRequest.Create(url);
request.Method = "GET";
response = request.GetResponse();
Stream stream = response.GetResponseStream();
reader = new StreamReader(stream);
string content = reader.ReadToEnd();
return content;
}
catch
{
return error;
}
}

这是网站:

http://chatroll.com/testings

当我在聊天中写东西时,我就这样做了,这样每隔 n 秒它就会显示我在我的程序 textBox1 中写的内容,并将它写在我硬盘上的文本文件记录器上。

问题是,有时如果我在聊天中快速输入内容(例如:hello(enter)、Hi(enter)、Daniel(enter)),有时 Hi 不会显示在我的程序中。我认为我输入内容的阅读速度不够快。

有没有更快的方法下载页面源并处理?也许我下载它的方式不是那么快?

你可以在这里看到我的项目:

https://skydrive.live.com/redir?resid=3B8A7D9F66FF985B!171&authkey=!AFO6EmoF38MtkKQ

最佳答案

为什么不使用更高级别的 WebClient?我不知道它是否更快,但至少它不太容易出错。你需要注意using声明释放任何资源(套接字等)。

using (var downloader = new WebClient())
{
string result = downloader.DownloadString(url);
}

关于性能的编辑:如果 Web 服务器支持 GZIP 等压缩,您可能希望利用它:

  1. 设置 header :

    downloader.Headers["Accept-Encoding"] = "gzip";
  2. 使用 WebClient.DownloadData将压缩响应加载到 byte[]

  3. 使用GZipStream 解压缩它

另一个编辑:您的 BackgroundWorker.DoWork 看起来很糟糕:您有很多冗余代码、大量不必要的循环等。我强烈建议您在 Code Review 提出问题。并发布该方法。顺便说一句,您在每次迭代中调用下载代码两次

关于c# - 有没有更快的方法从网站下载内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969575/

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