gpt4 book ai didi

c# - 使用C#从网站读取数据

转载 作者:IT王子 更新时间:2023-10-29 04:24:25 25 4
gpt4 key购买 nike

我有一个网页,除了一些字符串外什么都没有。没有图像,没有背景颜色或任何东西,只有一些长度不是很长的纯文本。

我只是想知道,什么是最好的(我的意思是最快和最有效的)方法来在网页中传递字符串,以便我可以将它用于其他用途(例如显示在文本框中)?我知道 WebClient,但我不确定它是否会做我想做的事,而且我什至不想尝试它,即使它确实有效,因为我上次做它花了大约 30 秒一个简单的操作。

如有任何想法,我们将不胜感激。

最佳答案

WebClient 类应该不仅能够处理您描述的功能,例如:

System.Net.WebClient wc = new System.Net.WebClient();
byte[] raw = wc.DownloadData("http://www.yoursite.com/resource/file.htm");

string webData = System.Text.Encoding.UTF8.GetString(raw);

或(根据 Fredrick 在评论中的建议)

System.Net.WebClient wc = new System.Net.WebClient();
string webData = wc.DownloadString("http://www.yoursite.com/resource/file.htm");

当你说花了 30 秒时,你能再详细解释一下吗?为什么会发生这种情况有很多原因。缓慢的服务器、互联网连接、不可靠的实现等等。

您可以降低一个级别并实现如下内容:

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com/resource/file.htm");

using (StreamWriter streamWriter = new StreamWriter(webRequest.GetRequestStream(), Encoding.UTF8))
{
streamWriter.Write(requestData);
}

string responseData = string.Empty;
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}

但是,WebClient 类最终会为您完成此功能。所以我建议您使用 WebClient 并调查 30 秒延迟的原因。

关于c# - 使用C#从网站读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4758283/

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