在dotnet下用c#编写下载器(转载)

在dotnet下用c#编写下载器(转载),第1张

概述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.1rnHost: " + hostName + "rnConnection: Closernrn";   //创建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.1rnHost: " + hostName + "rnConnection: Closernrn";  用get方式,得到网站里的某一个页面,如果想得到网页信息与webclient一样可以用正则表达式    http://liuxiaoyi666.cnblogs.com/archive/2006/06/02/415826.html

<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#编写下载器(转载)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1264027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存