ID: 36604 User updated by: chentie at livedoor dot cn Reported By: chentie at livedoor dot cn Status: Open Bug Type: *URL Functions Operating System: freebsd 5 PHP Version: 5.1.2 New Comment:
conside => consider Previous Comments: ------------------------------------------------------------------------ [2006-03-03 13:09:04] chentie at livedoor dot cn Description: ------------ get_headers("http://bugs.php.net/welcometochina.php") the result is like this: Warning: get_headers (http://bugs.php.net/welcometochina.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found but i think it should be like this: HTTP/1.1 404 Not Found Content-Length: 1635 Content-Type: text/html Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Fri, 03 Mar 2006 11:30:47 GMT Connection: close and other http status code such as 403 i hate to touch you in others method,here is my code for that problem: function get_headers($url,$format=0) { $url=parse_url($url); if (empty($url["path"])) { $url["path"]="/"; } print_r($url); $end = "\r\n\r\n"; $fp = fsockopen($url['host'], (empty($url['port'])?80:$url['port']), $errno, $errstr, 30); if ($fp) { $out = "GET {$url["path"]} HTTP/1.1\r\n"; $out .= "Host: ".$url['host']."\r\n"; $out .= "Connection: Close\r\n\r\n"; $var = ''; fwrite($fp, $out); while (!feof($fp)) { $var.=fgets($fp, 1280); if(strpos($var,$end)) break; } print $var; fclose($fp); $var=preg_replace("/\r\n\r\n.*\$/",'',$var); $var=explode("\r\n",$var); if($format) { foreach($var as $i) { if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts)) $v[$parts[1]]=$parts[2]; } return $v; } else return $var; } } here i didn't conside the loction of code 301,because i think it's not the true URI ,just return the 301 response is OK at last, sorry for my english,welcome to china 2008! ;-p ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36604&edit=1