C#网络编程Word文档下载推荐.docx
- 文档编号:15889300
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:17
- 大小:85.13KB
C#网络编程Word文档下载推荐.docx
《C#网络编程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C#网络编程Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
(6)使用代理3
(7)异步请求4
3.WebBrowser控件4
(1)使用WebBrowser控件4
(2)WebBrowser控件常用属性、方法与事件4
4.网络工具类(URL、IP、DNS)5
(1)Uri与UriBuilder5
(2)IPAddress、IPHostEntry与Dns5
(3)解码与编码(Encoding)6
5.底层的网络协议类6
(1)Socket6
(2)NetworkStream、TcpClient与TcpListener7
(3)UdpClient8
(4)SmtpClient9
作者:
李志伟
时间:
2014-02-07
1.WebClient类
(1)WebClient类的主要方法
DownloadXXX()方法:
下载URI资源文件
OpenXXX()方法:
打开URI资源流
UploadXXX()方法:
上传资源到URI
(2)DownloadData()方法
classProgram
{
staticvoidMain(string[]args)
WebClientweb=newWebClient();
byte[]temp=web.DownloadData("
"
);
//下载URI资源文件
stringResponse=Encoding.UTF8.GetString(temp);
//解码
Console.WriteLine(Response);
Console.Read();
}
(3)OpenRead()方法
Streamst=web.OpenRead("
//打开URI资源流
StreamReadersr=newStreamReader(st);
stringResponse=sr.ReadToEnd();
(4)UploadData()方法
stringstr="
李志伟"
;
byte[]response=
web.UploadData("
Encoding.Default.GetBytes(str));
Console.WriteLine(Encoding.Default.GetString(response));
}
上传数据时出现问题,XX报错!
这是因为没有权限。
(5)总结WebClient类
虽然WebClient类使用简单,但是其功能有限,特别是不能使用它提供身份验证证书。
这样,在上传数据时问题就出现了,许多站点不接受没有身份验证的上传文件。
这是由于WebClient类是非常一般的类,可以使用任意协议发送请求和接受响应(如:
HTTP、FTP等)。
但它不能处理特定于任何协议的任何特性,例如,专用于HTTP的cookie。
如果想利用这些特性就需要使用WebRequest类与WebResponse类为基类的一系列类。
2.WebRequest类与WebResponse类
(1)WebRequest类与WebResponse类简介
WebRequest类与WebResponse类是抽象类,其子类对象代表某个特定URI协议的请求对象或响应对象。
调用WebRequest.Create()方法得到WebResponse对象。
调用WebResponse对象的GetResponse()方法得到WebResponse对象。
(2)使用示例
WebRequestreq=WebRequest.Create("
//得到请求对象
WebResponseres=req.GetResponse();
//得到相应对象
Streamstrm=res.GetResponseStream();
//得到相应数据流
StreamReadersr=newStreamReader(strm);
Console.WriteLine(sr.ReadToEnd());
(3)WebRequest类与WebResponse类的子类(继承结构)
(4)HttpWebRequest类与HttpWebResponse类使用示例
stringuri="
HttpWebRequesthttpRe=(HttpWebRequest)HttpWebRequest.Create(uri);
HttpWebResponsehttpRes=(HttpWebResponse)httpRe.GetResponse();
Streamstrm=httpRes.GetResponseStream();
这里以HTTP协议为例使用了对应了类,其他协议的类的使用方法与此类似。
(5)身份验证
如果需要把身份验证证书附带在请求中,就使用WebRequest类中的Credentials属性。
NetworkCredentialcred=newNetworkCredential("
userName"
"
password"
req.Credentials=cred;
//调用GetResponse()之前赋值
(6)使用代理
使用代理服务器需要用到WebRequest类中的Proxy属性,以及WebProxy对象。
"
Domain"
WebProxywp=newWebProxy("
192.168.1.100"
true);
//设置代理服务器地址
req.Proxy=wp;
(7)异步请求
若需要使用异步请求,就可以使用BeginGetRequestStream()、EndGetRequestStream()与BeginGetResponse()、EndGetResponse()方法。
使用异步请求就不需要等待请求的响应,主线程不必阻塞可以直接向下执行。
示例如下:
req.BeginGetResponse(newAsyncCallback(Callback),req);
Console.WriteLine("
异步请求已发送..."
//回调函数
privatestaticvoidCallback(IAsyncResultar)
Thread.Sleep(5000);
//休眠5秒
WebRequestreq=(WebRequest)ar.AsyncState;
WebResponseres=req.EndGetResponse(ar);
3.WebBrowser控件
(1)使用WebBrowser控件
使用WebBrowser控件非常简单,如下图:
其按钮的单击事件代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)//按钮事件
this.webBr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 网络 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)