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)