收发Cookie
HttpClient有两个和Cookie相关的字典属性,分别是:
sCookies
要发送到服务器的所有Cookie。
rCookies
从服务器返回的所有Cookie。
一个例子
1、在服务端项目的HttpRequest事件中设置代码:
Dim
Verified As
Boolean
If
e.Cookies.ContainsKey("username")
AndAlso e.Cookies.ContainsKey("password")
Then
'实际开发的时候,请改为根据用户表验证身份
Dim
username As
String = e.Cookies("username")
Dim password
As String =
e.Cookies("password")
If username
= "张三"
AndAlso password
= "888" Then
Verified =
True
End
If
End
If
If
Verified = False
Then
e.AppendCookie("error","用户身份验证失败!")
'通过Cookie返回错误信息.
Return
End
If
Select
Case e.Path
Case "gettime.htm"
e.WriteString(Date.now)
End
Select
2、在客户端项目的命令窗口运行以下代码,可以获取服务器时间:
Dim
hc As
New HttpClient("http://127.0.0.1/gettime.htm")
hc.sCookies.Add("username","张三")
hc.sCookies.Add("password","888")
Dim
val As
String = hc.GetData()
If
hc.rCookies.ContainsKey("error")
Then
MessageBox.show(hc.RCookies("error"),
"错误",
MessageBoxButtons.OK,
MessageBoxIcon.Warning)
Else
Dim dt
As Date =
val
MessageBox.Show(dt)
End
If
上述代码中,用户名和密码是通过Cookie提交到服务器的。
如果修改代码中的用户名或密码,执行后会提示“用户身份验证失败”,这个提示是服务器通过Cookie返回的。