如何使用PHP或JavaScript获取客户端响应头?
问题描述:
伙计。我正在建造一个加密硬币挖掘池,原来的游泳池基于Node.JS.哪个Node.JS没有达到采矿池的快节奏。所以我建立了一个运行在NGINX和PHP中的池。矿工如何工作,它与Pool API交互。矿工在头文件中有一些重要的信息,比如矿工类型,版本,容量等等。有没有办法用PHP来获取头文件,如果不能用JavaScript来完成的话。谢谢。 :)如何使用PHP或JavaScript获取客户端响应头?
使用的是Node.js我所用:req.headers
这是我在PHP中曾尝试:
$_SERVER["USER"] = www-data
$_SERVER["HOME"] = /var/www
$_SERVER["HTTP_HOST"] = 10.10.31.95
$_SERVER["HTTP_USER_AGENT"] = Jetty/9.4.2.v20170220
$_SERVER["HTTP_ACCEPT_ENCODING"] = gzip
$_SERVER["REDIRECT_STATUS"] = 200
$_SERVER["SERVER_NAME"] = _
$_SERVER["SERVER_PORT"] = 80
$_SERVER["SERVER_ADDR"] = 10.10.31.95
$_SERVER["REMOTE_PORT"] = 57488
$_SERVER["REMOTE_ADDR"] = 10.10.30.0
$_SERVER["SERVER_SOFTWARE"] = nginx/1.10.3
$_SERVER["GATEWAY_INTERFACE"] = CGI/1.1
$_SERVER["REQUEST_SCHEME"] = http
$_SERVER["SERVER_PROTOCOL"] = HTTP/1.1
$_SERVER["DOCUMENT_ROOT"] = /var/www/html
$_SERVER["DOCUMENT_URI"] = /burst.php
$_SERVER["REQUEST_URI"] = /burst?requestType=getMiningInfo
$_SERVER["SCRIPT_NAME"] = /burst.php
$_SERVER["CONTENT_LENGTH"] =
$_SERVER["CONTENT_TYPE"] =
$_SERVER["REQUEST_METHOD"] = GET
$_SERVER["QUERY_STRING"] = requestType=getMiningInfo
$_SERVER["SCRIPT_FILENAME"] = /var/www/html/burst.php
$_SERVER["PATH_INFO"] =
$_SERVER["FCGI_ROLE"] = RESPONDER
$_SERVER["PHP_SELF"] =
$_SERVER["REQUEST_TIME_FLOAT"] = 1507362021.8898
$_SERVER["REQUEST_TIME"] = 1507362021
答
这工作
function get_contents() {
file_get_contents("http://example.com");
var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
出放。
array(13) {
[0]=> string(15) "HTTP/1.0 200 OK"
[1]=> string(20) "Accept-Ranges: bytes"
[2]=> string(29) "Cache-Control: max-age=604800"
[3]=> string(23) "Content-Type: text/html"
[4]=> string(35) "Date: Sat, 07 Oct 2017 23:51:45 GMT"
[5]=> string(22) "Etag: "359670651+gzip""
[6]=> string(38) "Expires: Sat, 14 Oct 2017 23:51:45 GMT"
[7]=> string(44) "Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT"
[8]=> string(22) "Server: ECS (lga/1386)"
[9]=> string(21) "Vary: Accept-Encoding"
[10]=> string(12) "X-Cache: HIT"
[11]=> string(20) "Content-Length: 1270"
[12]=> string(17) "Connection: close"
}
任何标题,特别是你需要?它应该位于相应的'$ _SERVER [HTTP_HEADER_NAME]'字段中 – apokryfos
您可以在$ _SERVER [“HTTP_HOST”] = 10.10.31.95', '$ _SERVER [“HTTP_USER_AGENT”] = Jetty/9.4.2.v20170220', '$ _SERVER [“HTTP_ACCEPT_ENCODING”] = gzip' –
echo $ _SERVER [“HTTP_HEADER_NAME”];注意:第7行的/var/www/html/index.php中的未定义索引:HTTP_HEADER_NAME –