CSS论坛's Archiver

哎伊呀伊哟 发表于 2012-3-29 15:11

使用WebClient

[font=宋体][size=2][color=#000000]   想要把某个网址存为HTML,[/color][/size][/font][url=http://www.92.la/][font=宋体][color=#000000]上海SEO公司[/color][/font][/url][color=#000000][font=宋体][size=9pt]提示大家可以使用WebClient。[/size]
[size=9pt]  第一个找到的方法:[/size][/font][/color]
[font=宋体][color=black][size=9pt]  string url = [color=black]"[/color][/size][url=http://bafang.in/][size=3][color=black]http://bafang.in[/color][/size][/url][/color][color=black][size=9pt]";[/size][/color][/font]
[size=9pt][font=宋体][color=black][color=black]  [/color]string fileName = "Download.html";[/color][/font][/size]
[size=9pt][font=宋体][color=black]  WebClient client = new WebClient();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  Byte[] htmlData = client.DownloadData(url);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  string html = Encoding.UTF8.GetString(htmlData);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  StreamWriter sw = new StreamWriter(fileName);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  sw.Write(html);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  sw.Close();编码设定透过Encoding.UTF8.GetString方法来把byte型态的阵列转换为UTF8编码的String。[/color][/font][/size]
[size=9pt][font=宋体][color=black]  另一种方法:[/color][/font][/size]
[size=9pt][font=宋体][color=black]  client.Encoding = Encoding.UTF8;[/color][/font][/size]
[size=9pt][font=宋体][color=black]  string html = client.DownloadString(url);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  client.Encoding设定的是WebClient上传和下载的String编码设定。[/color][/font][/size]
[size=9pt][font=宋体][color=black]  后来发现还有最短的,不用再另外用StreamWriter存成html:[/color][/font][/size]
[size=9pt][font=宋体][color=black]  client.DownloadFile(url, fileName);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  使用WebReguest、HttpWebResponse:[/color][/font][/size]
[size=9pt][font=宋体][color=black]  WebRequest request = WebRequest.Create(url);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  HttpWebResponse response = (HttpWebResponse)request.GetResponse();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  Stream dataStream = response.GetResponseStream();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  StreamReader reader = new StreamReader(dataStream);[/color][/font][/size]
[size=9pt][font=宋体][color=black]  string html = reader.ReadToEnd();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  reader.Close();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  dataStream.Close();[/color][/font][/size]
[size=9pt][font=宋体][color=black]  response.Close();虽然比较繁複,不过相对的使用WebReguest、HttpWebResponse可以设定比较多参数(Ex:Timeout),也可以看到完整的流程:对一个URL送出request,把response存为HTML。[/color][/font][/size]
[color=black]        [font=宋体][size=9pt]文本由[/size][/font][url=http://www.92.la/][color=black]上海搜索引擎优化公司[/color][/url] - [font=宋体][size=9pt]夏易网络整理[/size][/font] -[color=black] [/color][url=http://www.92.la/][color=black]http://www.92.la/[/color][/url][/color]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.