• WebClient和WebRequest获取html代码


    HTML:

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title>得到网页源代码</title>
    </head>
      <body MS_POSITIONING="GridLayout">
        <form id="aspNetBuffer" method="post" runat="server">
          <div align="center" style="FONT-WEIGHT: bold">得到任意网页源代码</div>
          <asp:TextBox id="UrlText" runat="server" Width="400px">http://dotnet.aspx.cc/content.aspx
           </asp:TextBox>
          <asp:Button id="WebClientButton" Runat="server" Text="用WebClient得到" OnClick="WebClientButton_Click"></asp:Button>
          <asp:Button id="WebRequestButton" runat="server" Text="用WebRequest得到" OnClick="WebRequestButton_Click"></asp:Button>
          
          <asp:TextBox id="ContentHtml" runat="server" Width="100%" Height="360px" TextMode="MultiLine">
           </asp:TextBox>
        </form>
      </body>
    </html>

    ASPX:

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Net;
    using System.Text;
    public partial class _Default : System.Web.UI.Page
    {
        private string PageUrl = "";
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void WebClientButton_Click(object sender, EventArgs e)
        {
            PageUrl = UrlText.Text;
            WebClient wc = new WebClient();
            wc.Credentials = CredentialCache.DefaultCredentials;
            ///方法一:
            Byte[] pageData = wc.DownloadData(PageUrl);
            ContentHtml.Text = Encoding.Default.GetString(pageData);
    
            /// 方法二:
            /// ***************代码开始**********
            /// Stream resStream = wc.OpenRead(PageUrl);
            /// StreamReader sr = new StreamReader(resStream,System.Text.Encoding.Default);
            /// ContentHtml.Text = sr.ReadToEnd();
            /// resStream.Close();
            /// **************代码结束********
            /// 
            wc.Dispose();
        }
        protected void WebRequestButton_Click(object sender, EventArgs e)
        {
            PageUrl = UrlText.Text;
            WebRequest request = WebRequest.Create(PageUrl);
            WebResponse response = request.GetResponse();
            Stream resStream = response.GetResponseStream();
            StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
            ContentHtml.Text = sr.ReadToEnd();
            resStream.Close();
            sr.Close();
    
        }
    }
  • 相关阅读:
    lseek 与 ioctl
    perror表
    阻塞&&非阻塞
    linux read/write
    文件i/o函数 open/close
    linux 文件io
    linux下的静态库和共享库
    linux基本命令
    c++ 2.1 编译器何时创建默认构造函数
    Java学习笔记34(sql基础 :增删改查1)
  • 原文地址:https://www.cnblogs.com/sky-net/p/3853359.html
Copyright © 2020-2023  润新知