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("&lt;","<");//        //HTML = HTML.Replace("&gt;",">");//        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#获取网页源码全解相关推荐

  1. 如何快速获取网页源码(直接把网站的 js css html 扒下来的)

    如何快速获取网页源码? 我们在学习和研究的时候,或者看到非常酷炫的页面效果,需要网站的源代码进行借鉴,但每次需要下载网站源代码,我们都需要找到一个,下载一个,每次只能下载一个文件,非常缓慢,而且还要自 ...

  2. 使用WebBrowser控件获取网页源码的方法

    使用WebBrowser控件获取网页源码的方法,网上有很多介绍,但绝大多数的人都是使用以下的方法获取: (WebBrowser1.Document as IHtmlDocument2).body.ou ...

  3. vc++获取网页源码之使用import+接口方式

    1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...

  4. POST教程笔记 - WinHttp获取网页源码

    ①.WinINet与WinHttp的异同点,为什么使用WinHttp讲解? 详情见:<WinINet与WinHttp总结>文档,已经打包给大家了. ②.WinHttp接口调用方式: 微软官 ...

  5. webclient无法获取html文件,C# WebClient获取网页源码的方法

    效果如图 完整代码如下using System; using System.Collections.Generic; using System.ComponentModel; using System ...

  6. php授权验证系统源码-全解开源版

    简介: php授权验证系统源码全解开源版,正版授权查询管理. 安装方法:上传PHP环境,访问域名instll,根据提示自动安装! 网盘下载地址: http://kekewl.org/MBJa7XXNk ...

  7. [转载]关于webbrowser,innet,xmlhttp获取网页源码的比较!

    webbrowser: 示例: For i = 0 To WebBrowser1.Document.All.length - 1      If WebBrowser1.Document.All(i) ...

  8. PHP如何获取网页源码?

    很多人可能会说那不是很简单 直接 file_get_contents ,但是有的时候这样也是获取不到的 那怎么办? 用CURL,某些不太懂得朋友可能会发现CURL也获取不到,其实是你没配置对 有一个属 ...

  9. Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频、图片、获取网页源码等)整理

    Python 爬虫 之 爬虫的一些基本知识和基本操作(爬取视频.图片.获取网页源码等)整理 目录

最新文章

  1. 汇编语言(王爽 第三版)检测点9.1 解决-a无法输入jmp dword ptr es:[1000h]
  2. 四轴飞行器实践教程第1章什么是飞行器
  3. linux命令行之find详解
  4. 只读域控制器RODC的安装
  5. ASP.NET MVC入门---实例演示:通过ContentResult实现主题定制
  6. 中国重汽微服务管理_springcloud微服务架构实战:商家管理微服务设计
  7. 晨哥真有料丨对她越好,越难脱单!
  8. 【转】Android-Input 按键字符映射文件输入设备配置文件
  9. oracle归档日志满了的处理方法
  10. Android安全补丁程序下载,2017年一月win7安全补丁更新包官方下载-2017Win7安全更新补丁包64位下载-西西软件下载...
  11. netty 百度网盘 密码
  12. java的jdk和jre有什么区别
  13. 计算机网络之物理层(定义标准+码间串扰(奈氏准则、香农定理)+基带信号、宽带信号+编码、调制+传输介质)
  14. Origin如何写入希腊字母
  15. 在java中定义标示符_JAVA中定义标识符时可以使用系统保留的关键字。
  16. Python 之多元线性回归分析
  17. 求一元二次方程的解法c语言,有什么方法求一元二次方程求解決一元二次方程的解法要详细...
  18. [eNSP]→ospf基本配置、区域划分
  19. Nuendo学习之旅——音程和和弦
  20. mysql -省市区(市)

热门文章

  1. 语音识别基础知识_语音识别_CTI论坛
  2. mysql 两张大表关联_详解mysql生产环境如何快速有效的删除大表,附实验说明
  3. 【MYSQL笔记】修改表
  4. 四位共阳极数码管显示函数_初学者,求助!!设计一个4位LED数码管动态扫描显示电路,用...
  5. 鸿蒙灵珠被林铭得到,上古五大灵珠,蕴含三界奥秘,为众生求得一线生机。
  6. ES Filebeat 使用 Pipeline 处理日志中的 @timestamp
  7. xml中加html源码,从xml获取数据以插入html标签,但在源代码中未看到
  8. IN与EXISTS优化
  9. nginx代理https后,spring mvc web应用redirect https变成http
  10. grid php 用法,grid布局主要用法