如何在C#中阅读完整的网页 [英] How to read full web page in C#
本文介绍了如何在C#中阅读完整的网页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
using System;
using System.Collections.Generic;
using System.Linq;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Net;
using System.IO;
/* I WRITE THIS PROGRAM TO GET WEB CONTENT ON INTERNET , BUT IT NOT WORK CORRECTLY. PLEASE HELP ME */
namespace GetHtmlFromInternet
{
class Program
{
public static WebClient wClient = new WebClient();
public static StreamWriter sw;
public static TextWriter textWriter;
/*I USE THIS FUNCTION TO READ WEB PAGE ON INTERNET BUT IT NOT WORK CORRECTLY ON SOME LINKS*/
public static String readFromLink()
{
/* IT WORK CORRECTLY IF WE SET url = "http://vn.yahoo.com/?p=us"; BUT NOT OK WITH URL BELOW*/
String url = "http://raovat.com/?rv=detail&idrv=527443&idcate=57&tt=vppnhatthanh@yahoo.com.vn";
/* PLEASE HELP ME MAKE FUNCTION READFROMLINK RUNABLE WITH THIS LINK*/
System.Net.WebClient client = new System.Net.WebClient();
byte[] data = client.DownloadData(url);
String html = System.Text.Encoding.UTF8.GetString(data);
return html;
}
public static bool WriteTextFile(String fileName, String t)
{
try
{
textWriter = new StreamWriter(fileName);
}
catch (Exception)
{
return false;
}
try
{
textWriter.WriteLine(t);
}
catch (Exception)
{
return false;
}
textWriter.Close();
return true;
}
static void Main(string[] args)
{
String saveFile = "C:/saveFromURL.txt";
String reSultString = readFromLink();
WriteTextFile(saveFile, reSultString);
}
}
}
推荐答案
您可以简单地使用给定的代码读取所有网页
you can simple use the given code to read all webpage
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close()
for more details you can go there[^] and there[^]
我会像RaviRanjakr一样做.但要添加更多检查和编码.
I will do as RaviRanjakr has done. But add some more checking and encoding.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (response.CharacterSet == null)
readStream = new StreamReader(receiveStream);
else
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
string data = readStream.ReadToEnd();
response.Close();
readStream.Close();
}
//RaviRanjakr,金·多哥!它仍然无法获取完整的页面内容,请检查与浏览器的链接,然后将代码插入函数readFromLink的链接中运行我的程序,如下所示:
公共静态字符串readFromLink()
{
字符串URL ="http://raovat.com/?rv=detail&idrv=527443&idcate=57&tt=vppnhatthanh@yahoo.com.vn";
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(URL);
request.Method ="GET";
HttpWebResponse响应=(HttpWebResponse)request.GetResponse();
字符串data = null;
如果(response.StatusCode == HttpStatusCode.OK)
{
流receiveStream = response.GetResponseStream();
StreamReader readStream = null;
如果(response.CharacterSet == null)
readStream =新的StreamReader(receiveStream);
else readStream = new StreamReader(receiveStream,Encoding.GetEncoding(response.CharacterSet));
数据= readStream.ReadToEnd(); response.Close(); readStream.Close();
}
返回数据;
}
//请一次又一次地帮助我.希望在我们解决该问题之前得到您的反馈!
// RaviRanjakr , Kim Togo ! It still can not get full page content , please check that link with your browser and run my program with your code insert into the function readFromLink link like this :
public static String readFromLink()
{
String URL = "http://raovat.com/?rv=detail&idrv=527443&idcate=57&tt=vppnhatthanh@yahoo.com.vn";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String data=null;
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (response.CharacterSet == null)
readStream = new StreamReader(receiveStream);
else readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
data= readStream.ReadToEnd(); response.Close(); readStream.Close();
}
return data;
}
// Please help me again and again .I hope get your feedbacks until we can solve this problem!
这篇关于如何在C#中阅读完整的网页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文