显示不同的内容
在上一节中,我们开启了三个http服务,当我们分别访问这三个服务时,显示的内容都是“Hello Word”。
显然,这不符合实际需要,真正的http服务应该能根据用户输入的不同地址,显示不同的内容。
HttpRequest事件的e参数有很多,其中有三个e参数,用于获取用户访问路径的各部分。
Host: 返回IP地址(或域名)
Port:返回端口号
Path:返回路径,含文件名。
假定用户输入的访问路径是"http://192.168.0.100:32188/fox/",这三个e参数的返回值分别是:
Host: 192.168.0.100
Port: 32188
Path: fox
假定用户输入访问路径是"http://192.168.0.100:32188/fox/china.htm",这三个e参数的返回值分别是:
Host: 192.168.0.100
Port: 32188
Path: fox\china.htm
注意:
1、e参数path中的路径分割符号是"\",不是"/"。
2、尽量通过路径和文件名来区分用户的访问请求,不要占用太多端口,因为端口是有限的。
现在就可以根据用户访问的不同端口、路径和和文件,甚至是不同的IP,来显示不同的内容,例如将HttpRequest的代码设置为:
If
e.host =
"127.0.0.1" Then
e.WriteString("你是本地用户")
Else
Select Case
e.Port
Case 80
e.WriteString("Hello
World")
Case
32177
e.WriteString("你好,世界")
Case 32188
If
e.path = "fox"
Then
e.WriteString("你好,狐表用户")
ElseIf e.path
= "fox\china.htm" Then
'注意这里的路径分隔符是"\"
e.WriteString("你好,中国狐表用户")
Else
e.WriteString("你好,未找到网页")
End If
Case
Else
e.WriteString("你好,端口错误")
End
Select
End
If
如果你通过地址“http://192.168.0.100:32188/fox”访问http服务,将显示:
如果你通过地址"http://192.168.0.100:32188/fox/china.htm"访问http服务,将显示: