显示不同的内容

在上一节中,我们开启了三个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服务,将显示:


本页地址:http://www.foxtable.com/mobilehelp/topics/0006.htm