<span >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,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
总结以上是内存溢出为你收集整理的在dotnet下用c#编写下载器(转载)全部内容,希望文章能够帮你解决在dotnet下用c#编写下载器(转载)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)