zoukankan      html  css  js  c++  java
  • 利用TcpClient HTTP协议获得网页源码

            private string GetHTMLTCP(string URL)
            {
                
    string strHTML = "";//用来保存获得的HTML代码
                TcpClient clientSocket = new TcpClient();
                Uri URI 
    = new Uri(URL);
                clientSocket.Connect(URI.Host, URI.Port);
                StringBuilder RequestHeaders 
    = new StringBuilder();//用来保存HTML协议头部信息
                RequestHeaders.AppendFormat("{0} {1} HTTP/1.1\r\n","GET"/*此处可填写GET或POST*/,URI.PathAndQuery);
                RequestHeaders.AppendFormat(
    "Connection:close\r\n");
                RequestHeaders.AppendFormat(
    "Host:{0}\r\n", URI.Host);
                RequestHeaders.AppendFormat(
    "Accept:*/*\r\n");
                RequestHeaders.AppendFormat(
    "Accept-Language:zh-cn\r\n");
                RequestHeaders.AppendFormat(
    "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n");
                Encoding encoding 
    = Encoding.Default;
                
    byte[] request = encoding.GetBytes(RequestHeaders.ToString());
                clientSocket.Client.Send(request);
                
    //获取要保存的网络流
                Stream readStream = clientSocket.GetStream();
                StreamReader sr 
    = new StreamReader(readStream, Encoding.Default);
                strHTML 
    = sr.ReadToEnd();


                readStream.Close();
                clientSocket.Close();
                
                
    return strHTML;
            }

    以上代码在VS2008环境下测试通过
  • 相关阅读:
    报错:require_once cannot allocate memory----php,以前自己弄的稍微有点特殊的开发环境
    wget下载整个网站---比较实用--比如抓取Smarty的document
    Linux必须会的命令---也是以前记录的,ctrl+z fg 啥的 jobs 比较实用
    最全的ORACLE-SQL笔记
    UML十四图打油诗记忆法
    Spring整合Hibernate总结
    MyEclipse6.5优化
    windows XP 各个文件夹详细介绍
    hibernate所需jar包
    struts2所需的jar包
  • 原文地址:https://www.cnblogs.com/having/p/1548706.html
Copyright © 2011-2022 走看看