变量 | 说明 |
$host | 域名部分 www.baidu.com/1.php?a=1&b=2 |
$document_uri | 当前请求中不包含参数的uri www.baidu.com/1.php?a=1&b=2 |
$uri | 和 $document_uri 一样 |
$args | 请求中的参数。 www.baidu.com/1.php?a=1&b=2 $args是a=1&b=2 |
$request_uri | 请求的URI。 www.baidu.com/1.php?a=1&b=2 相当于$document_uri + $args |
$http_referer | 客户端请求的referer,就是该请求是通过哪个链接跳转进来的。 用curl -e 可以指定。 |
$remote_addr | 客户端的公网IP (可以直接百度输入"ip"查询本机) |
$remote_port | 客户端的端口 |
$document_root | nginx虚拟主机配置文件中的root参数对应的值。 (也就是文件放置的位置。) |
$request_filename | 当前请求资源文件路径名称。 相当于 $document_root + $document_uri 的组合 |
$http_user_agent | 客户端信息,浏览器的信息。可伪造。 curl -A 可指定 |
$content_length | HTTP请求中 Content_Length |
$content_type | HTTP请求中 Content_Type |
$remote_user | 如果nginx有配置认证,代表客户端认证的用户名 |
$request_body_file | 做反向代理时发给后端服务器的本地资源的名称 |
$request_method | 请求资源的方式, GET,POST等 |
$http_cookie | 客户端的cookie信息 |
$server_protocol | 客户端请求的协议的版本 HTTP/1.0 HTTP/1.1 HTTP/2.0 等 |
$server_addr | 服务器IP地址 |
$server_port | 服务器端口号 |
可以简单用 return 以字符串形式返回变量。
注意: return 字符串的返回,必须前面先要写返回状态码。
例子:指定返回客户端信息
例子:$request_uri = $document_uri + $args
例子: $request_filename = $document_root / $document_uri
例子: $uri = $document_uri
例子: $http_referer
没跳转时,curl不指定是空的,curl -e 指定以后可以伪造出。
在curl的输出显示中换行
curl 返回的输出中是连着命令行的,在return中写入/r/n都不好用,即使写成\/r \/n都不行,打印结果都会显示为跟着命令行的形式,如下:
其实直接在字符串中回车就可以了,如下:
curl的url中有多个参数
注意:当curl的url中有多个参数的时候,需要用双引号引起来,不然其中的 & 会被当做是丢入后台的指令。
正确写法是