手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#几种获取网页源文件代码的实例
C#几种获取网页源文件代码的实例
摘要:方法一:复制代码代码如下:usingSystem.Text;usingSystem.Net;privatestringgetHtml(str...

方法一:

复制代码 代码如下:

using System.Text;

using System.Net;

private string getHtml(string url)

{

WebClient myWebClient = new WebClient();

byte[] myDataBuffer = myWebClient.DownloadData (url);

return Encoding.Default.GetString(myDataBuffer);

}

方法二:

复制代码 代码如下:

public string getHttp(string HttpUrl,string RefererUrl)

{

string html = "";

try

{

MSXML2.XMLHTTP Http = new MSXML2.XMLHTTPClass();

xmlhttp.open("GET", Url, false, null, null);

Http.open("GET",HttpUrl,false,null,null);

Http.setRequestHeader("Referer",RefererUrl);

//Http.setRequestHeader("Referer",RefererUrl);

Http.setRequestHeader("Content-Type", "text/html;charset=gb2312");

Http.send("");

html = Encoding.Default.GetString((byte[])Http.responseBody);

Http = null;

}

catch

{

}

return html;

}

public bool getweb(string strURL,out string buf)

{

buf="";

try

{

//Uri url=new Uri(strURL,false);

HttpWebRequest request;

request = (HttpWebRequest)WebRequest.Create(strURL);

request.Method="POST"; //Post请求方式

request.ContentType="text/html;charset=gb2312"; //内容类型

string paraUrlCoded = System.Web.HttpUtility.UrlEncode(""); //参数经过URL编码

byte[] payload;

payload = System.Text.Encoding.GetEncoding("GB2312").GetBytes(paraUrlCoded); //将URL编码后的字符串转化为字节

request.ContentLength = payload.Length; //设置请求的ContentLength

Stream writer = request.GetRequestStream(); //获得请求流

writer.Write(payload,0,payload.Length); //将请求参数写入流

writer.Close(); //关闭请求流

HttpWebResponse response;

response = (HttpWebResponse)request.GetResponse(); //获得响应流

Stream s;

s = response.GetResponseStream();

StreamReader objReader = new StreamReader(s,System.Text.Encoding.GetEncoding("GB2312"));

string HTML = "";

string sLine ="";

int i = 0;

while (sLine!=null)

{

i++;

sLine = objReader.ReadLine();

if (sLine!=null)

HTML += sLine;

}

//HTML = HTML.Replace("<","<");

//HTML = HTML.Replace(">",">");

buf=HTML;

return true;

}

catch (Exception x)

{

buf=x.Message.ToString();

return false;

}

}

带Cookie:

复制代码 代码如下:

CookieContainer cc = new CookieContainer();

public bool getweb(string strURL,out string buf)

{

buf="";

try

{

HttpWebRequest request;

request = (HttpWebRequest)WebRequest.Create(strURL);

request.Method="POST"; //Post请求方式

request.ContentType="text/html;charset=gb2312"; //内容类型

string paraUrlCoded = System.Web.HttpUtility.UrlEncode(""); //参数经过URL编码

byte[] payload;

payload = System.Text.Encoding.GetEncoding("GB2312").GetBytes(paraUrlCoded); //将URL编码后的字符串转化为字节

request.ContentLength = payload.Length; //设置请求的ContentLength

Stream writer = request.GetRequestStream(); //获得请求流

writer.Write(payload,0,payload.Length); //将请求参数写入流

writer.Close(); //关闭请求流

HttpWebResponse response;

response = (HttpWebResponse)request.GetResponse(); //获得响应流

Stream s;

s = response.GetResponseStream();

StreamReader objReader = new StreamReader(s,System.Text.Encoding.GetEncoding("GB2312"));

string HTML = "";

string sLine ="";

int i = 0;

while (sLine!=null)

{

i++;

sLine = objReader.ReadLine();

if (sLine!=null)

HTML += sLine;

}

buf=HTML;

return true;

}

catch (Exception x)

{

buf=x.Message.ToString();

return false;

}

}

public bool getweb(string strURL,out string buf,string postData)

{

buf="";

try

{

ASCIIEncoding encoding = new ASCIIEncoding();

byte[] data = encoding.GetBytes(postData);

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);

request.Method = "POST";

request.ContentType = "application/x-www-form-urlencoded";

request.ContentLength = data.Length;

Stream newStream = request.GetRequestStream();

newStream.Write(data, 0, data.Length);

newStream.Close();

request.CookieContainer = cc;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

cc.Add(response.Cookies);

Stream stream = response.GetResponseStream();

string sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();

buf=sHtml;

return true;

}

catch (Exception x)

{

buf=x.Message.ToString();

return false;

}

}

private string getWebresourceFile1(string url)

{

WebClient myWebClient = new WebClient();

byte[] myDataBuffer = myWebClient.DownloadData(url);

string SourceCode = Encoding.Default.GetString(myDataBuffer);

saveSourceCode(SourceCode);

return SourceCode;

}

方法2

复制代码 代码如下:

private string getWebresourceFile2(string url)

{

HttpWebRequest request=(HttpWebRequest)WebRequest.Create(url);

HttpWebResponse response=(HttpWebResponse)request.GetResponse();

request.Method = "GET ";

Stream receiveStream=response.GetResponseStream();

StreamReader readStream=new StreamReader(receiveStream,Encoding.Default);

string SourceCode=readStream.ReadToEnd();

saveSourceCode(SourceCode);

response.Close();

readStream.Close();

return SourceCode;

}

方法3

复制代码 代码如下:

private string getWebresourceFile3(string url)

{

WebClient wc = new WebClient();

wc.Credentials = CredentialCache.DefaultCredentials;

Byte[] pageData = wc.DownloadData(url);

string SourceCode = Encoding.Default.GetString(pageData);

saveSourceCode(SourceCode);

wc.Dispose();

return SourceCode;

}

方法4

复制代码 代码如下:

private string getWebresourceFile4(string url)

{

WebClient wc = new WebClient();

wc.Credentials = CredentialCache.DefaultCredentials;

Stream resStream = wc.OpenRead(url);

StreamReader sr = new StreamReader(resStream,System.Text.Encoding.Default);

string SourceCode = sr.ReadToEnd();

saveSourceCode(SourceCode);

resStream.Close();

wc.Dispose();

return SourceCode;

}

方法5

复制代码 代码如下:

private string getWebresourceFile5(string url)

{

WebRequest request = WebRequest.Create(url);

WebResponse response = request.GetResponse();

Stream resStream = response.GetResponseStream();

StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);

string SourceCode = sr.ReadToEnd();

saveSourceCode(SourceCode);

resStream.Close();

sr.Close();

return SourceCode;

}

【C#几种获取网页源文件代码的实例】相关文章:

C#几种排序算法

c# 可疑文件扫描代码(找到木马)(简)

C#实现通过程序自动抓取远程Web网页信息的代码

C# 获取程序集版本、文件版本

C# 图片剪切与缩小的实例

C#动态执行字符串(动态创建代码)的实例代码

C#控制台带参数程序源码编写实例讲解

C#中使用Socket获取网页源代码的代码

C# 获取系统进程的用户名

C#导出生成excel文件的方法小结(xml,html方式)

精品推荐
分类导航