L脚本语言实现简单的HTTP服务器

#scp
//L脚本语言实现 HTTP服务器 
//创建"HTTP服务"对象-->绑定IP端口-->设置HTTP请求处理回调-->启动HTTP服务
//我们在这里写一个处理GET请求和POST请求的简单HTTP服务器

定义:地址,addr1,"192.168.1.9",8080
定义:字符串,serverroot,"K:\\httproot\\"

定义:函数,ProcessGet,Request,Response
    #"HTTP请求"对象 在每一次HTTP请求中,作为处理回调函数的第一个参数被创建,回调函数返回时自动销毁
    #"HTTP响应"对象 在每一次HTTP请求中,作为处理回调函数的第二个参数被创建,回调函数返回时自动销毁
    定义:字符串,uristring

    定义:字符串,filenamestr
    定义:字符串,html,"<html>helloworld</html>"
    定义:文件,scriptfile
    #显示完整的HTTP请求内容
    #Request.显示()
    uristring=Request.获取("URI")
    uristring.显示()  

    如果:uristring=="favicon.ico",返回
    #可以根据URI的值决定返回的数据
    如果:((uristring=="/") || (uristring=="/index.html"))
        Response.设置("状态","200 OK")
        Response.设置("头部","Content-Type","text/html;charset=GB2312")
        Response.设置("数据",html)
        #设置数据时会自动计算数据长度,并设置HTTP头"Content-Length"
    否则
        filenamestr=serverroot+uristring.取子串(1)
        scriptfile.关闭()
        scriptfile.打开(filenamestr) //"K:\\httproot\\testhttpsrv.scp"
        Response.设置("状态","200 OK")
        Response.设置("头部","Content-Type","text/html;charset=UTF8")       
        Response.设置("数据",scriptfile)        
    结束

    #Response.显示()
    #如果设置了响应数据,则回调函数返回时会自动发送给客户端
结束

定义:函数,ProcessPost,Request,Response
    定义:字符串,uristring
    定义:字符串,ContentType
    定义:字符串,filenamestr
    定义:表,formdata
    定义:文件,scriptfile
    #Request.显示()
    uristring=Request.获取("URI")
    uristring.显示()
    ContentType=Request.获取("头部","Content-Type")
    ContentType.显示()

    如果:ContentType=="application/x-www-form-urlencoded"
        formdata=Request.获取("FORM")
        #formdata.显示()
        formdata[user].显示()
        formdata[password].显示()
    结束

    #可以根据URI的值决定返回的数据
    如果:(uristring=="/login")    
        如果:(formdata[user]=="test" && formdata[password]=="123456") 
            filenamestr=serverroot+"success.html"
        否则
            filenamestr=serverroot+"failure.html"
        结束
        scriptfile.关闭()
        scriptfile.打开(filenamestr) 
        Response.设置("状态","200 OK")
        Response.设置("头部","Content-Type","text/html;charset=UTF8")       
        Response.设置("数据",scriptfile)        
    结束

    #Request.显示()
    #Response.显示()
结束

定义:函数,HTTPD
    定义:HTTP服务,httpsrv
    httpsrv.设置("地址",addr1)
    httpsrv.设置("回调","GET",ProcessGet)
    httpsrv.设置("回调","POST",ProcessPost)
    httpsrv.显示()
    httpsrv.开始()
结束

定义:函数,主函数
    HTTPD()
结束

HTTP服务器运行状态
HelloWorld页面
登录页面
登录成功页面
登录失败页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值