nginx 用lua中獲取url路徑相關資訊

2021-08-19 16:45:14 字數 1719 閱讀 5364

1.獲取當前請求的url相關資訊

function test()

-- 這個變數等於包含一些客戶端請求引數的原始uri,它無法修改,請檢視$uri更改或重寫uri。

local request_uri = ngx.var

.request_uri

log(tools.gbk_to_u8("獲取當前請求的url==") .. tools.u8_to_gbk(cjson.encode(request_uri)) )

-- http方法(如http,https)。按需使用,例:

local scheme = ngx.var

.scheme server_addr

log(tools.gbk_to_u8("獲取當前請求的url scheme==") .. tools.u8_to_gbk(cjson.encode(scheme)) )

-- 伺服器位址,在完成一次系統呼叫後可以確定這個值,如果要繞開系統呼叫,則必須在listen中指定位址並且使用bind引數。

local server_addr = ngx.var

.server_addruri

log(tools.gbk_to_u8("獲取當前請求的url server_addr==") .. tools.u8_to_gbk(cjson.encode(server_addr)) )

-- 請求中的當前uri(不帶請求引數,引數位於$args),可以不同於瀏覽器傳遞的$request_uri的值,它可以通過內部重定向,或者使用index指令進行修改。

local uri = ngx.var

.uri

log(tools.gbk_to_u8("獲取當前請求的url uri==") .. tools.u8_to_gbk(cjson.encode(uri)) )

-- 伺服器名稱

local server_name = ngx.var

.server_name

log(tools.gbk_to_u8("獲取當前請求的url server_name ==") .. tools.u8_to_gbk(cjson.encode(server_name ))

-- 請求到達伺服器的埠號。

local server_port = ngx.var

.server_name

log(tools.gbk_to_u8("獲取當前請求的url server_port ==") .. tools.u8_to_gbk(cjson.encode(server_port ))

endtest()

2.獲取傳送請求端過來的url相關資訊

-- 獲取遠端的ip位址。

local remote_addr = ngx.var

.remote_addr

log(m_uuid,tools.gbk_to_u8("獲取傳送請求過來的遠端請求remote_addr ==") .. tools.u8_to_gbk(cjson.encode(remote_addr )) )

-- 獲取遠端的埠號

local remote_port = ngx.var

.remote_port

log(m_uuid,tools.gbk_to_u8("獲取傳送請求過來的遠端請求remote_port ==") .. tools.u8_to_gbk(cjson.encode(remote_port )) )

Lua中url的中文轉碼

local lua util function lua util.url encode str if str then str string.gsub str,n r n str string.gsub str,w function c return string.format 02x string...

獲取url中的引數

獲取 url 中的引數 1.指定引數名稱,返回該引數的值 或者 空字串 2.不指定引數名稱,返回全部的引數物件 或者 3.如果存在多個同名引數,則返回陣列 測試 輸入 輸出 1,2,3 function geturlparam surl,skey if arrs.length 1 else if a...

Rails中獲取url資訊

rails中獲取url資訊的一些方法 如本機我測試網域名稱為test.blog.zool.it 3000 開啟的uri為 post hello world fullurl為 則rails的路由生成一下幾個方法 domain tld length 1 取得網域名稱 request.domain zoo...