c#获取网页源码全解
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; //设置请求的ContentLengthStream 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;}}
}
c#获取网页源码全解相关推荐
- 如何快速获取网页源码(直接把网站的 js css html 扒下来的)
如何快速获取网页源码? 我们在学习和研究的时候,或者看到非常酷炫的页面效果,需要网站的源代码进行借鉴,但每次需要下载网站源代码,我们都需要找到一个,下载一个,每次只能下载一个文件,非常缓慢,而且还要自 ...
- 使用WebBrowser控件获取网页源码的方法
使用WebBrowser控件获取网页源码的方法,网上有很多介绍,但绝大多数的人都是使用以下的方法获取: (WebBrowser1.Document as IHtmlDocument2).body.ou ...
- vc++获取网页源码之使用import+接口方式
1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...
- POST教程笔记 - WinHttp获取网页源码
①.WinINet与WinHttp的异同点,为什么使用WinHttp讲解? 详情见:<WinINet与WinHttp总结>文档,已经打包给大家了. ②.WinHttp接口调用方式: 微软官 ...
- webclient无法获取html文件,C# WebClient获取网页源码的方法
效果如图 完整代码如下using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- php授权验证系统源码-全解开源版
简介: php授权验证系统源码全解开源版,正版授权查询管理. 安装方法:上传PHP环境,访问域名instll,根据提示自动安装! 网盘下载地址: http://kekewl.org/MBJa7XXNk ...
- [转载]关于webbrowser,innet,xmlhttp获取网页源码的比较!
webbrowser: 示例: For i = 0 To WebBrowser1.Document.All.length - 1 If WebBrowser1.Document.All(i) ...
- PHP如何获取网页源码?
很多人可能会说那不是很简单 直接 file_get_contents ,但是有的时候这样也是获取不到的 那怎么办? 用CURL,某些不太懂得朋友可能会发现CURL也获取不到,其实是你没配置对 有一个属 ...
- Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频、图片、获取网页源码等)整理
Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频.图片.获取网页源码等)整理 目录
最新文章
- 汇编语言(王爽 第三版)检测点9.1 解决-a无法输入jmp dword ptr es:[1000h]
- 四轴飞行器实践教程第1章什么是飞行器
- linux命令行之find详解
- 只读域控制器RODC的安装
- ASP.NET MVC入门---实例演示:通过ContentResult实现主题定制
- 中国重汽微服务管理_springcloud微服务架构实战:商家管理微服务设计
- 晨哥真有料丨对她越好,越难脱单!
- 【转】Android-Input 按键字符映射文件输入设备配置文件
- oracle归档日志满了的处理方法
- Android安全补丁程序下载,2017年一月win7安全补丁更新包官方下载-2017Win7安全更新补丁包64位下载-西西软件下载...
- netty 百度网盘 密码
- java的jdk和jre有什么区别
- 计算机网络之物理层(定义标准+码间串扰(奈氏准则、香农定理)+基带信号、宽带信号+编码、调制+传输介质)
- Origin如何写入希腊字母
- 在java中定义标示符_JAVA中定义标识符时可以使用系统保留的关键字。
- Python 之多元线性回归分析
- 求一元二次方程的解法c语言,有什么方法求一元二次方程求解決一元二次方程的解法要详细...
- [eNSP]→ospf基本配置、区域划分
- Nuendo学习之旅——音程和和弦
- mysql -省市区(市)
热门文章
- 语音识别基础知识_语音识别_CTI论坛
- mysql 两张大表关联_详解mysql生产环境如何快速有效的删除大表,附实验说明
- 【MYSQL笔记】修改表
- 四位共阳极数码管显示函数_初学者,求助!!设计一个4位LED数码管动态扫描显示电路,用...
- 鸿蒙灵珠被林铭得到,上古五大灵珠,蕴含三界奥秘,为众生求得一线生机。
- ES Filebeat 使用 Pipeline 处理日志中的 @timestamp
- xml中加html源码,从xml获取数据以插入html标签,但在源代码中未看到
- IN与EXISTS优化
- nginx代理https后,spring mvc web应用redirect https变成http
- grid php 用法,grid布局主要用法