网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.捕捉摄相头的数据流 .
.病毒及流氓软件自我复制的简单实.
.c#关闭系统进程以及如何调用cmd并.
.关于VS 2008和.NET 3.5 Beta2新特.
.C#图像放大问题解决方法.
.C#使用指针.
.C# Socket编程.
.将PUBS中的所有用户表内容分别用.
.C# 文件操作(上传 下载 删除 文件.
.C#中ref和out的使用小结.
.c# MD5加密算法的一个实例.
.C#代码操作IIS之虚拟目录.
.C#源码读取excel数据到程序中-SQ.
.C#操作Word文档(Office 2007).
.C#3.0 中 DLINQ 从数据库获得数据.
.js也可以有自定义事件 注入就是这.
.C#利用正则表达式实现字符串搜索.
.根据html页面模板动态生成html页.
.C#判断一个string是否可以为数字.
.用C#通过网址得到域名.

在dotnet下用c#编写下载器

发表日期:2006-6-3


System.Net.WebClient client=new WebClient();
   byte[] page=client.DownloadData("http://www.google.com");
   string content=System.Text.Encoding.UTF8.GetString(page);

在dotnet下经常使用此类方法

 string hostName="www.nnn.net";
   label1.Text="xxx";
   int port=80;
   IPHostEntry ipInfo=Dns.GetHostByName(hostName);
   //取得IPAddress[]
   IPAddress[] ipAddr=ipInfo.AddressList;
   //得到ip
   IPAddress ip=ipAddr[0];
   IPEndPoint hostEP=new IPEndPoint(ip,port);
   Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
  
    socket.Connect(hostEP);

   string sendStr="GET "+"/tryst/default.asp"+" HTTP/1.1\r\nHost: " + hostName + "\r\nConnection: Close\r\n\r\n";
   //创建bytes字节数组以转换发送串
   byte[] bytesSendStr=new byte[1024];
   //将发送内容字符串转换成字节byte数组
   bytesSendStr=Encoding.ASCII.GetBytes(sendStr);
   socket.Send(bytesSendStr,bytesSendStr.Length,0);
   //声明接收返回内容的字符串
   string recvStr="";
   //声明字节数组,一次接收数据的长度为1024字节
   byte[] recvBytes=new byte[1024];
   //返回实际接收内容的字节数
   int bytes=0;
   //循环读取,直到接收完所有数据
   while(true)
   {
    bytes=socket.Receive(recvBytes,recvBytes.Length,0);
    //读取完成后退出循环
    if(bytes<=0)
     break;
    //将读取的字节数转换为字符串
    recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
   }

 


socket 方式以及模型:

不能看出跟程序的匹配,下载都是客户机的机制,解释出地址后,声明socket,发送一段报文,返回信息

报文string sendStr="GET "+"/tryst/default.asp"+" HTTP/1.1\r\nHost: " + hostName + "\r\nConnection: Close\r\n\r\n";
用get方式,得到网站里的某一个页面,如果想得到网页信息与webclient一样可以用正则表达式

http://liuxiaoyi666.cnblogs.com/archive/2006/06/02/415826.html

上一篇:如何让数据访问过程更透明 人气:5760
下一篇:在Excel中将连续多列相同数据项合并 人气:7721
浏览全部c#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐