mochiweb 獲得各種引數

2021-06-22 16:50:18 字數 1691 閱讀 2858

** 

本文的筆記講述如何從client請求中獲取各種引數,如method, request path, headers, cookie等。

mochiweb是erlang實現的乙個開源web伺服器,它設計的乙個亮點就是他本身的http請求的引數化模型。因此我們可以用oo的方式來理解它的相關用法。

它的實現在mochiweb_request模組.在mochiweb中,每個client請求其構造乙個 req 物件(注:這個「物件「只是便於理解的提法), req 可以理解成 mochiweb_request 的乙個引數化或例項化.

1.req:get(method)-> 『options』 | 『get』 | 『head』 | 『post』 | 『put』 | 『delete』 | 『trace』.

獲取http請求的方式.

2.req:get(raw_path)-> string().

獲取raw_path.比如 那/session/login?username=test#p就是這個raw_path.

3.req:get(path)-> string().

獲取path.比如 那/session/login就是這個raw_path.

4.req:parse_qs()-> .

獲取get引數.比如 則返回.

5.req:parse_post()6.req:get(peer)-> string().

返回值為client的ip

7.req:get_header_value(key)-> undefined | string().

獲取某個header,比如key為」user-agent」時,返回」mozila…….」

8.req:get_primary_header_value(key)9.req:get(headers)-> dict().

獲取所有headers

說明: 返回結果為stdlib/dict 資料結構,可以通過mochiweb_headers模組進行操作.

舉例: 下面**顯示請求中所有headers:

headers = req:get(headers),

lists:foreach(fun(key, value) ->

io:format(「~p : ~p ~n」, [key, value])

end,

mochiweb_headers:to_list(headers)).

10.req:parse_cookie()-> .

解析cookie

11.req:get_cookie_value(key)-> string().

類似req:get_header_value(key)

最近搜了下,發現用mochiweb的挺多的。但自己用的時候發現來不少疑難。以上文件皆由litaocheng總結提供。感謝所帶來的幫助。希望這個對國內使用mochiweb的朋友們帶來幫助。

獲得各種系統路徑

獲取系統system32路徑 c windows system32 使用函式getsystemdirectory.cstring版封裝 cpp view plain copy static cstring getsysfolder getsystemdirectory szpath,100 retu...

SpringMVC通過註解獲得引數

springmvc可以通過requestparam註解來對映獲得引數,具體用法如下 例子 配置過程省略 1.新建controller類 執行結果 補充 如果表單名跟方法的引數名一致的話,無需再用 requestparam註解來對映。如改為public string requestparam stri...

linux ping的各種引數

root coder 671t m ping help ping invalid option usage ping lrubdfnqrvvaad c count i interval w deadline p pattern s packetsize t ttl i inte ce m pmtud...