1、首先,这里给出一个HTTP请求设置的示例,包括请求头的设置和响应获取,其中有很多注意事项将在后续步骤展开说明。
2、创建请求第一步:创建HttpWebRequest。使用函数WebRequest.CreateHttp(url)即可。一定要注意:返回对象类型是HttpWebRequest,而不是WebRequest,如果声明为WebRequest稍后将无法设置HTTP请求头。
3、创建请求第二步:通过HttpWebRequest的属性设置部分请求头信息。包括Method方法,Accept接受数据类型,Host,Referer链接来自页,UserAgent用户环境(浏览器等信息)。
4、另外一些信息,则需要使用其Headers成员的Add函数来添加。比图Accept-Encoding接受的编码,Accept-Language接受语言与偏好。注意:无法使用Connect属性设置Keep-Alive,而是要设置KeepAlive为TRUE,如图所示。
5、注意:以上的一些直接用属性设置的信息(比如Referer,Accept),虽然在HttpRequestHeader枚举下面也有,但是不可以使用Headers成员的Add来添加。必须使用属性直接设置。否则会报错如图。
6、Cookies的设置既可以用直接的属性,也可以用Headers.Add,如下是使用后一种方法设置Cookies。
7、使用GetResponse()获取请求。注意:后接as HttpWebResponse以直接视为HttpWebResponse,否则获取的Response很多类成员函数用不了。注意:断网或者404都会抛出WebException。需要自行处理。
8、使用如下代码遍历响应头中的信息,并显示每个键和值到textBox1,效果如图。
9、使用如下代码,创建GZipStream解压gzip数据,然后再创建StreamReader按照UTF8编码读出响应内容。