WebResponse的主要属性有:
ContentLength:当在子类中重写时,获取或设置接收的数据的内容长度。
ContentType:当在派生类中重写时,获取或设置接收的数据的内容类型。
Headers:当在派生类中重写时,获取与此请求关联的标头名称/值对的集合。
IsFromCache:获取一个 Boolean 值,该值指示此响应是否为从缓存中获取的。
IsMutuallyAuthenticated:获取一个 Boolean 值,该值指示是否发生了相互身份验证。
ResponseUri:当在派生类中重写时,获取实际响应此请求的 Internet 资源的 URI。
SupportsHeaders:获取指示是否支持标题的值。
其中需要注意的是Headers属性是一个WebHeaderCollection 类,包含与请求或响应关联的协议标头,可以通过AllKeys属性获得该对象下面所有的标头项(key),再使用for each循环获得具体的值。
主要代码如下:
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim addr As String = TextBox2.Text
Dim myWebRequest As WebRequest = WebRequest.Create(addr)
Dim myWebresponse As WebResponse = myWebRequest.GetResponse
TextBox1.Text &= "ContentLength:" & myWebresponse.ContentLength & ControlChars.CrLf
TextBox1.Text &= "ContentType:" & myWebresponse.ContentType & ControlChars.CrLf
TextBox1.Text &= "IsFromCache:" & myWebresponse.IsFromCache & ControlChars.CrLf
TextBox1.Text &= "IsMutuallyAuthenticated:" & myWebresponse.IsMutuallyAuthenticated & ControlChars.CrLf
TextBox1.Text &= "ResponseUri:" & myWebresponse.ResponseUri.ToString & ControlChars.CrLf
TextBox1.Text &= "SupportsHeaders:" & myWebresponse.SupportsHeaders & ControlChars.CrLf
Dim headercol As WebHeaderCollection = myWebresponse.Headers
Dim headers() As String = headercol.AllKeys
For Each header As String In headers
TextBox1.Text &= header & ":" & headercol.Item(header) & ControlChars.CrLf
Next
myWebresponse.Close()
End Sub
运行如下:
具体网页标头含义,请自行百度。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录