php 模拟get_headers函数的代码示例

时间:2021-05-26

复制代码 代码如下:
<?php

02 if(!function_exists('get_headers')){

03 function get_headers($url,$format=0){

04 $url=parse_url($url);

05 $end="\r\n\r\n";

06 $fp=fsockopen($url['host'],(empty($url['port'])?80:$url['port']),$errno,$errstr,30);

07 if($fp){

08 $out="GET / HTTP/1.1\r\n";

09 $out.="Host: ".$url['host']."\r\n";

10 $out.="Connection: Close\r\n\r\n";

11 $var='';

12 fwrite($fp,$out);

13 while(!feof($fp)){

14 $var.=fgets($fp,1280);

15 if(strpos($var,$end))

16 break;

17 }

18 fclose($fp);

19 $var=preg_replace("/\r\n\r\n.*\$/",'',$var);

20 $var=explode("\r\n",$var);

21 if($format){

22 foreach($var as $i){

23 if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))

24 $v[$parts[1]]=$parts[2];

25 }

26 return $v;

27 }else{

28 return $var;

29 }

30 }

31 }

32 }

33 echo '<pre>';

34 print_r(get_headers('https://www.jb51.net'));

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章