이 섹션의 이름은 fsockopen, 컬 및 file_get_contents입니다. 구체적으로 네트워크 데이터 입력 및 출력을 위한 세 가지 방법에 대한 일부 요약을 설명합니다. 우리는 이전에 fsockopen에 대해 많이 이야기했습니다. 다른 이야기로 넘어가겠습니다. 다음은 네트워크 데이터를 크롤링하는 몇 가지 일반적인 방법에 대한 간략한 목록입니다.
1. get 모드에서 콘텐츠를 가져오려면 file_get_contents를 사용하세요.
$url = 'http://localhost/test2.php'; $html = file_get_contents($url); echo $html;
2. fopen을 사용하여 URL을 열고 get 메소드를 사용하여 콘텐츠를 가져옵니다
$url = 'http://localhost/test2.php'; $fp = fopen($url, 'r'); stream_get_meta_data($fp); $result = ''; while(!feof($fp)) { $result .= fgets($fp, 1024); } echo "url body: $result"; fclose($fp);
3. 포스트 모드에서 URL을 얻으려면 file_get_contents 함수를 사용하세요
$data = array( 'foo'=>'bar', 'baz'=>'boom', 'site'=>'www.jb51.net', 'name'=>'nowa magic'); $data = http_build_query($data); //$postdata = http_build_query($data); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $data //'timeout' => 60 * 60 // 超时时间(单位:s) ) ); $url = "http://localhost/test2.php"; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); echo $result;
4. 컬 라이브러리를 사용하기 전에 php.ini에서 컬 확장 기능이 켜져 있는지 확인해야 할 수도 있습니다.
$url = 'http://localhost/test2.php?site=jb51.net'; $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); echo $file_contents;