php 조작 http header

1.php 로 http header 정 보 를 가 져 옵 니 다.

2,php 로 http header 정보 생 성
<?php
header
("Location:http://www.example.com/");/* */

/* , */
exit;
?>
        header ,       html  ,     。   ,    utf-8  php  ,                  ,         。

3.phop 는 socket 으로 해당 http header 정 보 를 직접 생 성하 고 읽 습 니 다.참고 절 차 는 다음 과 같 습 니 다.
인용
function remote_file_size ($url){ $head = ""; $url_p = parse_url($url); $host = $url_p["host"]; if(!preg_match("/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/",$host)){// a domain name was given, not an IP$ip=gethostbyname($host);if(!preg_match("/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/",$ip)){//domain could not be resolvedreturn -1;}}$port = intval($url_p["port"]); if(!$port) $port=80;$path = $url_p["path"]; //echo "Getting " . $host . ":" . $port . $path . " ...";$fp = fsockopen($host, $port, $errno, $errstr, 20); if(!$fp) { return false; } else { fputs($fp, "HEAD " . $url . " HTTP/1.1\r"); fputs($fp, "HOST: " . $host . "\r"); fputs($fp, "User-Agent: http://www.example.com/my_application\r");fputs($fp, "Connection: close\r\r"); $headers = ""; while (!feof($fp)) { $headers .= fgets ($fp, 128); } } fclose ($fp); //echo $errno .": " . $errstr . "
";$return = -2; $arr_headers = explode("", $headers); // echo "HTTP headers for ..." . substr($url,strlen($url)-20). ":";// echo "
";foreach($arr_headers as $header) { // if (trim($header)) echo trim($header) . "
";$s1 = "HTTP/1.1"; $s2 = "Content-Length: "; $s3 = "Location: "; if(substr(strtolower ($header), 0, strlen($s1)) == strtolower($s1)) $status = substr($header, strlen($s1)); if(substr(strtolower ($header), 0, strlen($s2)) == strtolower($s2)) $size = substr($header, strlen($s2)); if(substr(strtolower ($header), 0, strlen($s3)) == strtolower($s3)) $newurl = substr($header, strlen($s3)); } // echo "
";if(intval($size) > 0) {$return=intval($size);} else {$return=$status;}// echo intval($status) .": [" . $newurl . "]
";if (intval($status)==302 && strlen($newurl) > 0) {// 302 redirect: get HTTP HEAD of new URL$return=remote_file_size($newurl);}return $return; }

좋은 웹페이지 즐겨찾기