C#GJBC-31.1.2

31.1.2  基本的Web客户示例

第一个示例将阐述怎样使用WebClient.OpenRead()方法。在这个示例中,我们将把下载的页面显示在ListBox控件中。把项目创建为标准的Windows C#应用程序,添加一个名为listBox1的列表框,将其docking 属性设置为DockStyle.Fill。在文件的开头,需要在using指令中添加System.NetSystem.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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖洋洋的好日子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值