在 PHP 中,有一個非常常用的函數叫作get_headers()
,其作用是獲取 HTTP 協議頭信息,可以通過這個函數獲取到如下的頭信息:
Array ( [0] =>HTTP/1.1 200 OK [1] =>Server: nginx/1.16.1 [2] =>Date: Wed, 15 Sep 2021 13:03:58 GMT [3] =>Content-Type: text/plain;charset=UTF-8 [4] =>Content-Length: 11 [5] =>Connection: close )
在日常開發中,通常會用到get_headers()
函數來獲取某個 URL 的頭信息。舉個例子,如下:
$url = 'https://www.example.com'; $headers = get_headers($url); print_r($headers);
這樣就可以獲取到指定 URL 的頭信息。
當然,我們可以通過返回值的第二個參數來獲取到 HTTP 狀態碼,比如:
$url = 'https://www.example.com'; $headers = get_headers($url, 1); $status_code = substr($headers[0], 9, 3); echo $status_code;
這樣就可以獲取到指定 URL 的 HTTP 狀態碼了。
除了獲取單個 URL 的頭信息以外,get_headers()
函數還可以批量獲取多個 URL 的頭信息,如下:
$urls = array( 'https://www.example1.com', 'https://www.example2.com', 'https://www.example3.com', ); $headers = array(); foreach ($urls as $url) { $headers[$url] = get_headers($url, 1); } print_r($headers);
這樣就能夠同時獲取到多個 URL 的頭信息了。
需要注意的是,如果我們要獲取的 URL 沒有設置 HTTP 協議頭,則函數會返回false
,如下:
$url = 'ftp://ftp.example.com'; $headers = get_headers($url); var_dump($headers);
以上代碼會返回:
bool(false)
如果我們想要獲取 FTP 協議的頭信息,則需要使用 FTP 相關的函數,比如ftp_get()
。
總體來說,get_headers()
函數非常實用,可以用于獲取批量 URL 的頭信息,以及判斷 URL 是否能用 HTTP 協議訪問等場景。
上一篇ios運行macos系統
下一篇java版本8和10