c#获取网页源码全解
来源:互联网 发布:python 读取 csv 编辑:程序博客网 时间:2024/05/18 22:52
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Globalization;using System.Net;using System.IO;namespace util{ public class webcode { //获取网页源代码 private string getHtml(string url) { WebClient myWebClient = new WebClient(); byte[] myDataBuffer = myWebClient.DownloadData(url); return Encoding.Default.GetString(myDataBuffer); } //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); return SourceCode; } 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(); response.Close(); readStream.Close(); return SourceCode; } private string getWebresourceFile3(string url) { WebClient wc = new WebClient(); wc.Credentials = CredentialCache.DefaultCredentials; Byte[] pageData = wc.DownloadData(url); string SourceCode = Encoding.Default.GetString(pageData); wc.Dispose(); return SourceCode; } 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(); resStream.Close(); wc.Dispose(); return SourceCode; } 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(); resStream.Close(); sr.Close(); return SourceCode; } }}
阅读全文
2 0
- c#获取网页源码全解
- c# 获取网页源码
- C#获取网页源码
- C#获取网页源码
- c# 获取网页源码
- c# 获取网页源码
- c# 获取网页源码
- c# 获取网页源码
- C#获取网页源码
- C#获取网页源码
- c# 获取网页源码
- c# 获取网页源码
- C#获取指定网页源码
- C#多线程后台获取网页源码
- C#获取网页源码,自动判断网页字符集编码
- C#获取网页源码,自动判断网页字符集编码
- C#获取网页源码,自动判断网页字符集编码[转]
- C#用HttpWebRequest获取网页源码并自动检测编码
- 适用于各个版本的File转Uri,Uri转File
- 面试题---数值的整数次方
- OS学习笔记一
- iMX6开发板—SABER Lite评估板-imx.6评估板学习qnx
- 洛谷 小A点菜
- c#获取网页源码全解
- 随笔
- 关于对象属性行为configurable的问题
- c#文件操作xml、ini、txt、excel、csv操作全解
- BZOJ 1001 [BeiJing2006]狼抓兔子
- SDUT_3039 迷之好奇 【字典树】
- oracle sql语句优化
- mysql授权GRANT ALL PRIVILEGES
- 原生态jdbc(1)