<?php
함수 get_url_content($Url,$Method = 'c') {
//필요한 언어 인코딩을 도입하세요. 그렇지 않은 경우 기본값은 utf-8이므로 걱정하지 마세요.
전역 $Charset;
$Urlarr=parse_url($Url);
//도메인 이름을 감지할 수 없으면 반환합니다.
if (!isset($Urlarr['host'])) {
거짓을 반환;
}
//헤더의 다중 정보를 스마트하게 정의합니다.
foreach (@getallheaders() $key => $val){
$key==='호스트' && $val = $Urlarr['호스트'];
$key==='추천자' && $val ='http://'.$Urlarr['host'];
$str .= "'$key:$val', n";
}
//가상 출처.
!eregi('Referer',$str) && $str .="'Referer:http://{$Urlarr['host']}', n";
//수정 후 기본적으로 소스도 해당 사이트이고, 호스트도 Url 사이트입니다.
$헤더 = 배열(트림($str));
//다음은 수집에 사용할 프로그램을 선택하는 것입니다.
if($Method === 'f'&&function_exists('file_get_contents')) {
$opts = 배열(
'http'=>배열(
'방법'=>"GET",
'헤더'=>$헤더,
)
);
$cxContext = stream_context_create($opts);
$file_contents = @file_get_contents($Url, false, $cxContext);
} elseif ($Method === 'c'&&function_exists('curl_init')) {
$Ch = 컬_init();
$타임아웃 = 5;
컬_setopt($Ch,CURLOPT_HTTPHEADER,$Header);
컬_setopt($Ch, CURLOPT_URL, $Url);
컬_세톱($Ch, CURLOPT_RETURNTRANSFER,1);
컬_setopt($Ch, CURLOPT_CONNECTTIMEOUT, $Timeout);
$file_contents = 컬_exec($Ch);
컬_닫기($Ch);
}
//스타일을 아름답게 표시하기 위해 대상 가이드를 추가합니다.
$file_contents = str_replace('</title>',"</title>n<base href=" http://{$Urlarr['host']}/ " />",$file_contents);
//가장 일반적인 인코딩을 처리합니다. 대상 웹사이트에 인코딩이 없으면 기본값은 GBK입니다.
!preg_match('/charset=([^<>"]*)"/isU',$file_contents,$lang) && $lang[1]='GBK';
function_exists('mb_convert_encoding') && $file_contents = mb_convert_encoding($file_contents,empty($Charset)?'UTF-8':$Charset,$lang[1]);
//코드의 일부를 로그아웃합니다.
unset($Url,$lang,$Timeout,$Urlarr,$Charset);
$file_contents를 반환합니다.
}
//file_get_contents 메소드를 사용하여 테스트 시작
HEADER("콘텐츠 유형:TEXT/HTML; CHARSET=UTF-8");
//http://www.xtzj.com/read-htm-tid-347550.html 이 내용은 수집할 수 없습니다.
$file = get_url_content(" http://www.hao123.com",'f' );
$file = Strip_tags($file,'<a>');
preg_match_all('/(http:[^"<>]*)>/isU',$file,$link);unset($link[0]);
$link = $link[1];
//데이터 획득을 시뮬레이션해 보겠습니다. 0-151 다음은 컬을 사용하는 것입니다.
$x = 10;
$file = get_url_content($link[$x]);
에코 $ 파일;
?>
모든 설명과 댓글을 작성해 주세요.
이해되지 않는 답변이 있으면... 컬렉션에 대한 지식을 전파해 드리겠습니다.