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