在nginx环境中无法使用get_headers函数方法,所以我的站长站这次分享的是用php的file_get_contents函数来判断链接是否失效。
原理就是通过file_get_contents函数远程访问链接,判断返回的$http_response_header的HTTP 标头。
file_get_contents代码如下:
function getUrl($url) { $content = file_get_contents($url); return array( 'headers' => $http_response_header, 'content' => $content ); } $response = getUrl('https://www.wdzzz.com/'); if ($response['content'] === false) echo $response['headers'][0]; // HTTP/1.1 401 Unauthorized else echo $response['content'];
不加判断,以数组的形式返回数据就是这样的。
<?php function get_contents() { file_get_contents("https://www.wdzzz.com/"); return $http_response_header; } var_dump(get_contents()); ?>
响应如下:
array(12) { [0] => string(15) "HTTP/1.1 200 OK" [1] => string(35) "Date: Tue, 13 Aug 2019 05:39:50 GMT" [2] => string(38) "Content-Type: text/html; charset=UTF-8" [3] => string(17) "Connection: close" [4] => string(21) "Vary: Accept-Encoding" [5] => string(46) "X-Pingback: https://vircloud.net/action/xmlrpc" [6] => string(70) "Set-Cookie: 1ace4129ed475fea40c32ab2c48ab0c2_armxmod_online=U1; path=/" [7] => string(14) "Server: vcloud" [8] => string(71) "Strict-Transport-Security: max-age=15552000; includeSubdomains; preload" [9] => string(31) "X-Xss-Protection: 1; mode=block" [10] => string(31) "X-Content-Type-Options: nosniff" [11] => string(27) "X-Frame-Options: SAMEORIGIN"