自己写的,可能有很多漏洞,不过参考一下就足够了