多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Nginx Lua 的 API ================= * [Introduction](#introduction) * [ngx.arg](#ngxarg) * [ngx.var.VARIABLE](#ngxvarvariable) * [Core constants](#core-constants) * [HTTP method constants](#http-method-constants) * [HTTP status constants](#http-status-constants) * [Nginx log level constants](#nginx-log-level-constants) * [print](#print) * [ngx.ctx](#ngxctx) * [ngx.location.capture](#ngxlocationcapture) * [ngx.location.capture_multi](#ngxlocationcapture_multi) * [ngx.status](#ngxstatus) * [ngx.header.HEADER](#ngxheaderheader) * [ngx.resp.get_headers](#ngxrespget_headers) * [ngx.req.start_time](#ngxreqstart_time) * [ngx.req.http_version](#ngxreqhttp_version) * [ngx.req.raw_header](#ngxreqraw_header) * [ngx.req.get_method](#ngxreqget_method) * [ngx.req.set_method](#ngxreqset_method) * [ngx.req.set_uri](#ngxreqset_uri) * [ngx.req.set_uri_args](#ngxreqset_uri_args) * [ngx.req.get_uri_args](#ngxreqget_uri_args) * [ngx.req.get_post_args](#ngxreqget_post_args) * [ngx.req.get_headers](#ngxreqget_headers) * [ngx.req.set_header](#ngxreqset_header) * [ngx.req.clear_header](#ngxreqclear_header) * [ngx.req.read_body](#ngxreqread_body) * [ngx.req.discard_body](#ngxreqdiscard_body) * [ngx.req.get_body_data](#ngxreqget_body_data) * [ngx.req.get_body_file](#ngxreqget_body_file) * [ngx.req.set_body_data](#ngxreqset_body_data) * [ngx.req.set_body_file](#ngxreqset_body_file) * [ngx.req.init_body](#ngxreqinit_body) * [ngx.req.append_body](#ngxreqappend_body) * [ngx.req.finish_body](#ngxreqfinish_body) * [ngx.req.socket](#ngxreqsocket) * [ngx.exec](#ngxexec) * [ngx.redirect](#ngxredirect) * [ngx.send_headers](#ngxsend_headers) * [ngx.headers_sent](#ngxheaders_sent) * [ngx.print](#ngxprint) * [ngx.say](#ngxsay) * [ngx.log](#ngxlog) * [ngx.flush](#ngxflush) * [ngx.exit](#ngxexit) * [ngx.eof](#ngxeof) * [ngx.sleep](#ngxsleep) * [ngx.escape_uri](#ngxescape_uri) * [ngx.unescape_uri](#ngxunescape_uri) * [ngx.encode_args](#ngxencode_args) * [ngx.decode_args](#ngxdecode_args) * [ngx.encode_base64](#ngxencode_base64) * [ngx.decode_base64](#ngxdecode_base64) * [ngx.crc32_short](#ngxcrc32_short) * [ngx.crc32_long](#ngxcrc32_long) * [ngx.hmac_sha1](#ngxhmac_sha1) * [ngx.md5](#ngxmd5) * [ngx.md5_bin](#ngxmd5_bin) * [ngx.sha1_bin](#ngxsha1_bin) * [ngx.quote_sql_str](#ngxquote_sql_str) * [ngx.today](#ngxtoday) * [ngx.time](#ngxtime) * [ngx.now](#ngxnow) * [ngx.update_time](#ngxupdate_time) * [ngx.localtime](#ngxlocaltime) * [ngx.utctime](#ngxutctime) * [ngx.cookie_time](#ngxcookie_time) * [ngx.http_time](#ngxhttp_time) * [ngx.parse_http_time](#ngxparse_http_time) * [ngx.is_subrequest](#ngxis_subrequest) * [ngx.re.match](#ngxrematch) * [ngx.re.find](#ngxrefind) * [ngx.re.gmatch](#ngxregmatch) * [ngx.re.sub](#ngxresub) * [ngx.re.gsub](#ngxregsub) * [ngx.shared.DICT](#ngxshareddict) * [ngx.shared.DICT.get](#ngxshareddictget) * [ngx.shared.DICT.get_stale](#ngxshareddictget_stale) * [ngx.shared.DICT.set](#ngxshareddictset) * [ngx.shared.DICT.safe_set](#ngxshareddictsafe_set) * [ngx.shared.DICT.add](#ngxshareddictadd) * [ngx.shared.DICT.safe_add](#ngxshareddictsafe_add) * [ngx.shared.DICT.replace](#ngxshareddictreplace) * [ngx.shared.DICT.delete](#ngxshareddictdelete) * [ngx.shared.DICT.incr](#ngxshareddictincr) * [ngx.shared.DICT.flush_all](#ngxshareddictflush_all) * [ngx.shared.DICT.flush_expired](#ngxshareddictflush_expired) * [ngx.shared.DICT.get_keys](#ngxshareddictget_keys) * [ngx.socket.udp](#ngxsocketudp) * [udpsock:setpeername](#udpsocksetpeername) * [udpsock:send](#udpsocksend) * [udpsock:receive](#udpsockreceive) * [udpsock:close](#udpsockclose) * [udpsock:settimeout](#udpsocksettimeout) * [ngx.socket.tcp](#ngxsockettcp) * [tcpsock:connect](#tcpsockconnect) * [tcpsock:sslhandshake](#tcpsocksslhandshake) * [tcpsock:send](#tcpsocksend) * [tcpsock:receive](#tcpsockreceive) * [tcpsock:receiveuntil](#tcpsockreceiveuntil) * [tcpsock:close](#tcpsockclose) * [tcpsock:settimeout](#tcpsocksettimeout) * [tcpsock:setoption](#tcpsocksetoption) * [tcpsock:setkeepalive](#tcpsocksetkeepalive) * [tcpsock:getreusedtimes](#tcpsockgetreusedtimes) * [ngx.socket.connect](#ngxsocketconnect) * [ngx.get_phase](#ngxget_phase) * [ngx.thread.spawn](#ngxthreadspawn) * [ngx.thread.wait](#ngxthreadwait) * [ngx.thread.kill](#ngxthreadkill) * [ngx.on_abort](#ngxon_abort) * [ngx.timer.at](#ngxtimerat) * [ngx.config.debug](#ngxconfigdebug) * [ngx.config.prefix](#ngxconfigprefix) * [ngx.config.nginx_version](#ngxconfignginx_version) * [ngx.config.nginx_configure](#ngxconfignginx_configure) * [ngx.config.ngx_lua_version](#ngxconfigngx_lua_version) * [ngx.worker.exiting](#ngxworkerexiting) * [ngx.worker.pid](#ngxworkerpid) * [ndk.set_var.DIRECTIVE](#ndkset_vardirective) * [coroutine.create](#coroutinecreate) * [coroutine.resume](#coroutineresume) * [coroutine.yield](#coroutineyield) * [coroutine.wrap](#coroutinewrap) * [coroutine.running](#coroutinerunning) * [coroutine.status](#coroutinestatus) > English source: Nginx API for Lua ================= * [Introduction](#introduction) * [ngx.arg](#ngxarg) * [ngx.var.VARIABLE](#ngxvarvariable) * [Core constants](#core-constants) * [HTTP method constants](#http-method-constants) * [HTTP status constants](#http-status-constants) * [Nginx log level constants](#nginx-log-level-constants) * [print](#print) * [ngx.ctx](#ngxctx) * [ngx.location.capture](#ngxlocationcapture) * [ngx.location.capture_multi](#ngxlocationcapture_multi) * [ngx.status](#ngxstatus) * [ngx.header.HEADER](#ngxheaderheader) * [ngx.resp.get_headers](#ngxrespget_headers) * [ngx.req.start_time](#ngxreqstart_time) * [ngx.req.http_version](#ngxreqhttp_version) * [ngx.req.raw_header](#ngxreqraw_header) * [ngx.req.get_method](#ngxreqget_method) * [ngx.req.set_method](#ngxreqset_method) * [ngx.req.set_uri](#ngxreqset_uri) * [ngx.req.set_uri_args](#ngxreqset_uri_args) * [ngx.req.get_uri_args](#ngxreqget_uri_args) * [ngx.req.get_post_args](#ngxreqget_post_args) * [ngx.req.get_headers](#ngxreqget_headers) * [ngx.req.set_header](#ngxreqset_header) * [ngx.req.clear_header](#ngxreqclear_header) * [ngx.req.read_body](#ngxreqread_body) * [ngx.req.discard_body](#ngxreqdiscard_body) * [ngx.req.get_body_data](#ngxreqget_body_data) * [ngx.req.get_body_file](#ngxreqget_body_file) * [ngx.req.set_body_data](#ngxreqset_body_data) * [ngx.req.set_body_file](#ngxreqset_body_file) * [ngx.req.init_body](#ngxreqinit_body) * [ngx.req.append_body](#ngxreqappend_body) * [ngx.req.finish_body](#ngxreqfinish_body) * [ngx.req.socket](#ngxreqsocket) * [ngx.exec](#ngxexec) * [ngx.redirect](#ngxredirect) * [ngx.send_headers](#ngxsend_headers) * [ngx.headers_sent](#ngxheaders_sent) * [ngx.print](#ngxprint) * [ngx.say](#ngxsay) * [ngx.log](#ngxlog) * [ngx.flush](#ngxflush) * [ngx.exit](#ngxexit) * [ngx.eof](#ngxeof) * [ngx.sleep](#ngxsleep) * [ngx.escape_uri](#ngxescape_uri) * [ngx.unescape_uri](#ngxunescape_uri) * [ngx.encode_args](#ngxencode_args) * [ngx.decode_args](#ngxdecode_args) * [ngx.encode_base64](#ngxencode_base64) * [ngx.decode_base64](#ngxdecode_base64) * [ngx.crc32_short](#ngxcrc32_short) * [ngx.crc32_long](#ngxcrc32_long) * [ngx.hmac_sha1](#ngxhmac_sha1) * [ngx.md5](#ngxmd5) * [ngx.md5_bin](#ngxmd5_bin) * [ngx.sha1_bin](#ngxsha1_bin) * [ngx.quote_sql_str](#ngxquote_sql_str) * [ngx.today](#ngxtoday) * [ngx.time](#ngxtime) * [ngx.now](#ngxnow) * [ngx.update_time](#ngxupdate_time) * [ngx.localtime](#ngxlocaltime) * [ngx.utctime](#ngxutctime) * [ngx.cookie_time](#ngxcookie_time) * [ngx.http_time](#ngxhttp_time) * [ngx.parse_http_time](#ngxparse_http_time) * [ngx.is_subrequest](#ngxis_subrequest) * [ngx.re.match](#ngxrematch) * [ngx.re.find](#ngxrefind) * [ngx.re.gmatch](#ngxregmatch) * [ngx.re.sub](#ngxresub) * [ngx.re.gsub](#ngxregsub) * [ngx.shared.DICT](#ngxshareddict) * [ngx.shared.DICT.get](#ngxshareddictget) * [ngx.shared.DICT.get_stale](#ngxshareddictget_stale) * [ngx.shared.DICT.set](#ngxshareddictset) * [ngx.shared.DICT.safe_set](#ngxshareddictsafe_set) * [ngx.shared.DICT.add](#ngxshareddictadd) * [ngx.shared.DICT.safe_add](#ngxshareddictsafe_add) * [ngx.shared.DICT.replace](#ngxshareddictreplace) * [ngx.shared.DICT.delete](#ngxshareddictdelete) * [ngx.shared.DICT.incr](#ngxshareddictincr) * [ngx.shared.DICT.flush_all](#ngxshareddictflush_all) * [ngx.shared.DICT.flush_expired](#ngxshareddictflush_expired) * [ngx.shared.DICT.get_keys](#ngxshareddictget_keys) * [ngx.socket.udp](#ngxsocketudp) * [udpsock:setpeername](#udpsocksetpeername) * [udpsock:send](#udpsocksend) * [udpsock:receive](#udpsockreceive) * [udpsock:close](#udpsockclose) * [udpsock:settimeout](#udpsocksettimeout) * [ngx.socket.tcp](#ngxsockettcp) * [tcpsock:connect](#tcpsockconnect) * [tcpsock:sslhandshake](#tcpsocksslhandshake) * [tcpsock:send](#tcpsocksend) * [tcpsock:receive](#tcpsockreceive) * [tcpsock:receiveuntil](#tcpsockreceiveuntil) * [tcpsock:close](#tcpsockclose) * [tcpsock:settimeout](#tcpsocksettimeout) * [tcpsock:setoption](#tcpsocksetoption) * [tcpsock:setkeepalive](#tcpsocksetkeepalive) * [tcpsock:getreusedtimes](#tcpsockgetreusedtimes) * [ngx.socket.connect](#ngxsocketconnect) * [ngx.get_phase](#ngxget_phase) * [ngx.thread.spawn](#ngxthreadspawn) * [ngx.thread.wait](#ngxthreadwait) * [ngx.thread.kill](#ngxthreadkill) * [ngx.on_abort](#ngxon_abort) * [ngx.timer.at](#ngxtimerat) * [ngx.config.debug](#ngxconfigdebug) * [ngx.config.prefix](#ngxconfigprefix) * [ngx.config.nginx_version](#ngxconfignginx_version) * [ngx.config.nginx_configure](#ngxconfignginx_configure) * [ngx.config.ngx_lua_version](#ngxconfigngx_lua_version) * [ngx.worker.exiting](#ngxworkerexiting) * [ngx.worker.pid](#ngxworkerpid) * [ndk.set_var.DIRECTIVE](#ndkset_vardirective) * [coroutine.create](#coroutinecreate) * [coroutine.resume](#coroutineresume) * [coroutine.yield](#coroutineyield) * [coroutine.wrap](#coroutinewrap) * [coroutine.running](#coroutinerunning) * [coroutine.status](#coroutinestatus)