C#GJBC-31.1.2
来源:互联网 发布:生物医学工程专业知乎 编辑:程序博客网 时间:2024/06/10 10:34
31.1.2 基本的Web客户示例
第一个示例将阐述怎样使用WebClient.OpenRead()方法。在这个示例中,我们将把下载的页面显示在ListBox控件中。把项目创建为标准的Windows C#应用程序,添加一个名为listBox1的列表框,将其docking 属性设置为DockStyle.Fill。在文件的开头,需要在using指令中添加System.Net和System.IO命名空间,然后对主窗体的构造函数进行以下改动:
public Form1()
{
InitializeComponent();
System.Net.WebClient Client = new WebClient();
Stream strm = Client.OpenRead("http://www.wrox.com");
StreamReader sr = new StreamReader(strm);
string line;
while ( (line=sr.ReadLine()) != null )
{
listBox1.Items.Add(line);
}
strm.Close();
}
在这个示例中,把System.IO命名空间的StreamReader类与网络数据流关联起来。这样,就可以使用更加有效的高层方法,例如ReadLine()方法,从数据流中以文本的形式获取数据。第30章讨论了把数据移动抽象化为数据流概念的优点,这个示例就充分体现出了这些优点。
这个示例的运行结果如图31-1所示。
图 31-1
在WebClient类中还有一个方法OpenWrite(),它可以返回一个可写的数据流,并把数据发送给URI。也可以指定该方法用于把数据发送给主机;默认的方法是POST。下面的代码段假定在本地机器上有一个可写的目录accept,这段代码在该目录下创建文件newfile.txt,其内容为"Hello World":
WebClient webClient = new WebClient();
Stream stream = webClient.OpenWrite("http://localhost/accept/newfile.txt","PUT");
StreamWriter streamWriter = new StreamWriter(stream);
streamWriter.WriteLine("Hello World");
streamWriter.Close();
- C#GJBC-31.1.2
- C#GJBC-32.2.2服务器控制程序
- C#GJBC-32.4.2TcpClient示例
- C#GJBC-31.4.2 IP地址和DNS名称
- C#GJBC-31.4.1 URL
- C#GJBC-32.1windows服务
- C#GJBC-32.4windows服务
- C#GJBC第三版--webrequest和webresponse
- C#GJBC-较底层的协议
- C#GJBC-较底层的协议
- C#GJBC-windows体系的服务结构
- C#GJBC-3.2.1服务程序
- C#GJBC-32.2.3服务器配置程序
- C#GJBC-System.ServiceProcess命名空间
- C#GJBC-32.4.1使用套接字类库
- C#GJBC-32.4.3Windows服务项目
- 求1+2+...+n[C/C++/C#]
- C++(2)
- 如何删除桌面无法删除的图标
- camping trip 三天两夜
- 将表中记录的时间的毫秒级记录更新为秒级
- 兴奋.!!
- C#31.1.1下载文件
- C#GJBC-31.1.2
- C#高级编程第三版--31.1.3上传文件
- c++
- 这是我的第一篇笔记哦
- C#GJBC第三版--webrequest和webresponse
- 火候不到,继续学习吧!
- C#高级编程31.1.3 把结果输出为Html
- C#实用工具类
- C#GJBC-31.4.1 URL