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)

 

 

 

 

 

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章