MochiWeb 开发心得

 

1.基本信息获取

 

%%获取QueryString [{k1,v1},{k2,v2}]

Get = Req:parse_qs()

 

%%获取post信息

Post = Req:parse_post()

 

%%获取header示例,只要HTTP Request头中有的,均可采用此方法获取,其内部存储结构是[{"user-agent","xxxx"}]

%%mochiweb获取数据方式: proplists:property("user-agent",[{"user-agent","xxxx"}])

User_agent = Req:get_header_value("user-agent")

 

2.Response

Req:Response/2  Response/3

 

Response/2实则调用的是 Response/3,只是第二个参数列表为[]

 

下面我们讲解一下Response/3

 

 

第一个参数是服务器状态ID(具体ID解释请参见http://www.checkupdown.com/status/error1.html)

 

第二个参数key-value list,表示你要设置哪个Response Header

第三个参数是返回的数据

 

例如

 

使浏览器重定向:

Req:respond({302, [{"Location", RdURL}], "Redirecting to " ++ RdURL});

 

写Cookies

Req:ok({"html/text",[mochiweb_cookies:cookie("uid",Cookies,[{max_age, 360000000},{local_time, LocalTime}])],<<"hello world">>})

 

3.其他

由于浏览器请求进来时会携带keep-alive信息,因此服务器会一直保持SOCKET连接,如果我们不是做聊天室,不需要keep-alive,那么我们可以强制让mochiweb帮我们断开连接,只需要加上如下代码

 

put(mochiweb_request_force_close,true)

 

 

 

 

 

 


 

 

你可能感兴趣的:(MochiWeb 开发心得)