C# 获取页面数据然后保存到本地
我做了一个网页放在在服务器。里面的内容是XML格式的。我想用C#读出页面显示的内容,并保存到本地。拓展名为XML...
我做了一个网页放在在服务器。里面的内容是XML格式的。我想用C# 读出页面显示的内容,并保存到本地。拓展名为XML
展开
展开全部
可以使用WebRequest获取页面数据,然后使用File.WriteAll存存到本地文件中,代码如下:
/// <summary>
/// 获取网页代码
/// </summary>
/// <param name="URL">地址</param>
/// <returns></returns>
string getHTML(string URL)
{
string r = "";
try
{
WebRequest wrGETURL = WebRequest.Create(URL);
wrGETURL.Proxy = null;
//wrGETURL.Timeout = 60000;
Stream objStream = wrGETURL.GetResponse().GetResponseStream();
StreamReader objReader = new StreamReader(objStream, Encoding.GetEncoding("gbk"));
r = objReader.ReadToEnd();
}
catch (WebException e)
{
//throw new Exception(e.Message);
}
catch (Exception e)
{
//throw new Exception(e.Message);
}
return r;
}
File.WriteAllText("file.html", getHTML("http://www.baidu.com"))
//把百度首页保存到本地文件file.html中
展开全部
用HttpWebRequest请求你的页面,获取HttpWebResponse后保存即可
StringBuilder content = new StringBuilder();
try
{
// 与指定URL创建HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
// 获取对应HTTP请求的响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// 获取响应流
Stream responseStream = response.GetResponseStream();
// 对接响应流(以"GBK"字符集)
StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
// 开始读取数据
Char[] sReaderBuffer = new Char[256];
int count = sReader.Read(sReaderBuffer, 0, 256);
while (count > 0)
{
String tempStr = new String(sReaderBuffer, 0, count);
content.Append(tempStr);
count = sReader.Read(sReaderBuffer, 0, 256);
}
// 读取结束
sReader.Close();
}
catch (Exception)
{
content = new StringBuilder("Runtime Error");
}
return content.ToString();
StringBuilder content = new StringBuilder();
try
{
// 与指定URL创建HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
// 获取对应HTTP请求的响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// 获取响应流
Stream responseStream = response.GetResponseStream();
// 对接响应流(以"GBK"字符集)
StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
// 开始读取数据
Char[] sReaderBuffer = new Char[256];
int count = sReader.Read(sReaderBuffer, 0, 256);
while (count > 0)
{
String tempStr = new String(sReaderBuffer, 0, count);
content.Append(tempStr);
count = sReader.Read(sReaderBuffer, 0, 256);
}
// 读取结束
sReader.Close();
}
catch (Exception)
{
content = new StringBuilder("Runtime Error");
}
return content.ToString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用FileStream类,可以将文本保存成文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WebClient
追问
对,就用它。我在研究,还不会弄,能给个例子吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询