对于如何使用 webrequest 与 webresponse 类在 uri 上生成 post 请求,在微软的 .net 快速入门教程中有详细的描述(http://chs.gotdotnet.com/quickstart/howto/doc/webrequests/clientpost.aspx),简要引用如下:
客户端应用程序不直接创建 webresponse 对象,而是通过调用 webrequest 实例上的 getresponse 方法来创建它。 【相关文章:在.Net1.2中对Xquery的支持】
webresponse 类是抽象(在 visual basic 中为 mustinherit)基类,协议特定的响应类从该抽象基类派生。应用程序可以使用 webresponse 类的实例以协议不可知的方式参与请求与响应事务,而从 webresponse 派生的协议特定的类携带请求的详细信息。 【扩展阅读:第九章 方法[《.net框架程序设计》读】
如果需要使用 webrequest 与 webresponse 类在 uri 上生成 get 请求。可在函数 getpage 中找到生成请求的特定详细信息。getpage 函数采用字符串参数,该参数是您请求的 web 页的 url(或 uri)。然后,此 uri 作为参数包括在对 webrequest.create 的调用中,该调用创建 webrequest 对象。接着,webrequest 对象的 getresponse 函数用于获取 webresponse 对象。此对象可用于获取响应的状态代码以及实际响应流(例如,web 页)。可以采用几种不同的形式写出该流。 【扩展信息:DNS与BIND学习笔记 5 (实例操练】
对继承者的说明: 从 webresponse 继承时,必须重写以下成员:contentlength、contenttype、getresponsestream、responseuri 与 headers。
在处理完响应流后,必须确保调用 webresponse 对象的 close 方法,以免泄露有价值的系统资源。
如果需要使用 webrequest 与 webresponse 类在 uri 上生成 post 请求。 则可采用类似于带有 get 谓词的简单 webrequest。其中有两处不同:
1) 谓词需要更改为 post。 2) 需要对格式信息进行编码并发送到流中。 若要更改谓词,只需将 method 属性设置为“post”。 然后必须将 contenttype 属性设置为“application/x-www-form-urlencoded”。此时,确保所提供的字符串编码正确,所有内容都将被正确地传递 (post)。处理完响应流后,必须确保调用 webresponse 对象的 close 方法,以免泄露有价值的系统资源。
<!-- 正文 -->
了解了具体的实现方法及原理后,就可以实现其目的。首先需要一个函数以实现该功能:
/// <summary> ... 下一页