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 . "]";$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($status)==302 && strlen($newurl) > 0) {// 302 redirect: get HTTP HEAD of new URL$return=remote_file_size($newurl);}return $return; }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.