存档

文章标签 ‘FastCGI’

Go(golang) FastCGI Client

2012年6月1日 谭俊青 2 条评论

最近用Go语言写给legendbase.com写网站的时候实现了个MVC框架,原理是根据uri请求,用reflect方法找到相应的controller跟method,然后执行之.当没有找到就根据uri后缀是否是php,如果是则调用fastcig-client执行配置目录下的php文件.如果再没有就写404错误. Go语言官方package没有client的实现,于是花了点功夫实现了个,开源出来,给需要的朋友节省点时间.

地址: http://code.google.com/p/go-fastcgi-client/

使用示例: 

func main() {

        reqParams := "name=value"

        env := make(map[string]string)
        env["REQUEST_METHOD"] = "GET"
        env["SCRIPT_FILENAME"] = "/Users/ivan/work/test/fcgi/test.php"
        env["SERVER_SOFTWARE"] = "go / fcgiclient "
        env["REMOTE_ADDR"] = "127.0.0.1"
        env["SERVER_PROTOCOL"] = "HTTP/1.1"
        env["QUERY_STRING"] = reqParams

        fcgi, err := fcgiclient.New("127.0.0.1", 9000)
        if err != nil {
                fmt.Printf("err: %v", err)
        }

        content, err := fcgi.Request(env, reqParams)
        if err != nil {
                fmt.Printf("err: %v", err)
        }

        fmt.Printf("content: %s", content)
}
 

分类: Go 标签: ,