利用.NET框架提供的 WebClient类 和 WebRequest类,得到给定URL地址的源代码

深入探索:***中使用WebClient和WebRequest获取网页源代码 本文还有配套的精品资源,点击获取 简介:在***开发中,获取网页源代码是一个常见需求,例如进行网页抓取或网络数据交互。文章详细介绍了如何通过.NET Framework的 WebClient 和 WebRequest 类来实现这一功能。 WebClient 提供了一个简单的接口来执行HTTP下载和上传操作,而 WebRequ... 阅读详情

作者:孟宪会 出自:【孟宪会之精彩世界】发布日期:2004年1月9日 9点24分42秒

利用.NET框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子.

GetPageHtml.aspx

<FONT style="BACKGROUND-COLOR: #9acd32"><FONT style="BACKGROUND-COLOR: #ffa500">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
    <title>得到网页源代码</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  </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得到"></asp:Button>
      <asp:Button id="WebRequestButton" runat="server" Text="用WebRequest得到"></asp:Button>
      <br>
      <asp:TextBox id="ContentHtml" runat="server" Width="100%" Height="360px" TextMode="MultiLine">
      	</asp:TextBox>
    </form>
  </body>
</HTML></FONT></FONT>

GetPageHtml.aspx.cs

<FONT style="BACKGROUND-COLOR: #deb887"><FONT style="BACKGROUND-COLOR: #ffa500">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;

namespace eMeng.Exam
{
 /// <summary>
 /// GetPageHtml 的摘要说明。
 /// </summary>
 public class GetPageHtml : System.Web.UI.Page
  {
  protected System.Web.UI.WebControls.Button WebClientButton;
  protected System.Web.UI.WebControls.Button WebRequestButton;
  protected System.Web.UI.WebControls.TextBox ContentHtml;
  protected System.Web.UI.WebControls.TextBox UrlText;
  private string PageUrl = "";
 
  private void Page_Load(object sender, System.EventArgs e)
   {}

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
   {
   InitializeComponent();
   base.OnInit(e);
  }

  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {    
   this.WebClientButton.Click += new System.EventHandler(this.WebClientButton_Click);
   this.WebRequestButton.Click += new System.EventHandler(this.WebRequestButton_Click);
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 
  private void WebClientButton_Click(object sender, System.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();  
  }

  private void WebRequestButton_Click(object sender, System.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();
  }
 }
}
</FONT></FONT>
WebClient 的Post实现 用银光技术 摸拟网页的Post方法来实现数据上传操作。 立即下载

相关推荐

用WebRequest获取网页内容

一个用WebRequest获取网页内容的实例.

跨域调用接口——WebClient通过get和post请求api

AJAX不可以实现跨域请求,经过特殊处理才行。一般后台可以通过WebClient实现跨域请求~ //get 请求 string url = string.Format("http://localhost:28450/api/values?str1=a&str2=b"); WebClient wc = new WebClient(); Encodi...

weixin_30407099的博客 618

C#中在WebClient中使用post发送数据实现方法

主要介绍了C#中在WebClient中使用post发送数据实现方法,需要的朋友可以参考下

WebClient发送Web请求(post && get)

1.2.

honor_zhang的博客 2796

基于R语言的DICE模型实践技术应用;预测不同减排路径下的经济增长、碳排放量、气候变化程度以及社会福利变化

DICE模型是一个动态综合气候经济模型,由诺贝尔经济学奖得主William Nordhaus开发,用于评估气候变化对经济的影响以及不同减排政策的经济成本和效益。以下是一个关于DICE模型在气候变化影响评估中的实际应用案例,结合R语言代码进行讲解。

KY_chenzhao的博客 869

ArduSub深度调参指南:如何让水下机器人像鱼一样稳定游动

本文深入探讨了ArduSub水下机器人的深度调参策略,旨在解决ROV在水下晃动、响应迟钝等问题。文章系统解析了级联PID控制逻辑,并针对静水与水流环境,提供了具体的深度保持与姿态控制调参方法、实战日志分析技巧以及异常振荡处理方案,帮助用户实现水下机器人稳定、流畅的游动性能。

CAT789的专栏 372

C# WebClient、 jsonp实现跨域

WebClient 无传输数据获取 1 Uri uri = new Uri(allURL); 2 WebClient wc = new WebClient(); 3 wc.Encoding = System.Text.Encoding.UTF8; 4 var str = wc.D...

dianchou9307的博客 235

手把手教你用OPA运放和MOS管搭建恒流源电路(附完整电路图)

本文详细介绍了如何使用OPA运放和MOS管搭建高精度恒流源电路,涵盖核心元器件选型、电路设计、工作原理及实际搭建步骤。通过负反馈控制机制和MOS管工作区设置技巧,实现稳定的电流输出,适用于LED驱动、电池充电等场景。附完整电路图和调试技巧,助您快速掌握恒流源设计。

weixin_29239279的博客 537

C# WebApi 跨域问题的解决方案(在后台处理的方式):CORS

参考文章:https://www.cnblogs.com/landeanfen/p/5177176.html 解决复杂跨域请求:https://www.cnblogs.com/jianxuanbing/p/7324929.html

aiguoguo000的博客 1501

CamoFox MCP:让AI助手隐身操作浏览器的反检测自动化实战

浏览器自动化是提升工作效率和实现数据采集的关键技术,其核心原理在于通过程序脚本模拟人类在网页上的交互行为。传统方案如Selenium或Playwright虽功能强大,但需要开发者编写复杂脚本并处理反爬机制。随着AI Agent技术的发展,自然语言驱动的自动化成为新趋势,它能将任务规划与逻辑判断交由AI处理,大幅降低使用门槛。Model Context Protocol(MCP)作为连接AI与外部工具的标准协议,在此场景下价值凸显,它使得AI助手能直接调用丰富的浏览器操作工具。CamoFox MCP创新性地将

weixin_42551967的博客 727

注册GitHub时出现Unable to verify your captcha response.Please visit https://docs.github.com/解决方案(持续更新)

本文主要介绍了注册GitHub时出现Unable to verify your captcha response. Please visit https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.解决方案,希望能对学习使用GitHub的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

利用.NET框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子.

GetPageHtml.aspx...@ Page language="c#" validateRequest = "false" Codebehind="GetPageHtml.aspx.cs"  AutoEventWireup="false" Inherits="eMeng.Exam.GetPageHtml" %>DOCTYPE HTML PUBLIC "-//W3C//DTD HTM

[木子]的专栏 1164

无人飞行器和车辆的协同配送物资问题——附带MATLAB代码

通过建立城市地图、生成物资点和配送任务、路径规划、协同调度以及仿真和评估等步骤,可以有效地解决物资配送的优化问题。通过建立城市地图、生成物资点和配送任务、路径规划、协同调度以及仿真和评估等步骤,可以有效地解决物资配送的优化问题。我们的目标是最小化物资配送的总时间,同时确保每个物资点都被正确配送的无人飞行器或车辆所访问。我们的目标是最小化物资配送的总时间,同时确保每个物资点都被正确配送的无人飞行器或车辆所访问。我们首先需要建立一个城市地图,包括物资点、无人飞行器的起始点和车辆的起始点。

CyberJolt的博客 950

利用WebClient和WebRequest类获得网页源代码

利用.NET框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子.GetPageHtml.aspx 得到网页源代码 得到任意网页源代码 http://dotnet.aspx.cc/content.aspx GetPageHtml.aspx.csusing Sy

jxufewbt的专栏 979

YOLOv5_DeepSORT_Pytorch训练自己的多目标跟踪模型

1 准备 环境配置:https://blog.csdn.net/weixin_50008473/article/details/115250986?spm=1001.2014.3001.5501 YOLOv5_DeepSORT_Pytorch代码地址: https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch DeepSORT论文:https://arxiv.org/pdf/1703.07402.pdf 2 训练目标检测模型 训练自己的目标检测模

weixin_50008473的博客 1万+

【SECS】初识SECS协议

项目标题的第一位和第二位告诉下面有多少字节表示项目的长度。而项目的长度是指项目标题后面的字节数,这里第一个字节就是项目标题。1个字节可以表示的最大长度是0-255,所以只要项目标题后面的字节数小于等于254,都是0x01。

weixin_48618536的博客 1644

[ASP.NET]c#利用WebClient和WebRequest类获得网页源代码

利用.net框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子. 查看例子 GetPageHtml.ASPx <%@ Page language="c#" validateRequest = "false" Codebehind="GetPageHtml.aspx.cs" AutoE...

diaofuzuo3286的博客 192

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 正则表达式语法解析
下一篇: [分享]真正的分页存储过程
codeangel
博客等级 码龄22年 15粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值