Heim >php教程 >php手册 >PHP中4种常用的抓取网络数据方法

PHP中4种常用的抓取网络数据方法

WBOY
WBOYOriginal
2016-06-13 09:02:421157Durchsuche

PHP中4种常用的抓取网络数据方法

   本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总。关于 fsockopen 前面已经谈了不少,下面开始转入其它。这里先简单罗列一下一些常见的抓取网络数据的一些方法。

  1. 用 file_get_contents 以 get 方式获取内容:

  ?

1

2

3

$url = 'http://localhost/test2.php';

$html = file_get_contents($url);

echo $html;

  2. 用fopen打开url,以get方式获取内容

  ?

1

2

3

4

5

6

7

8

9

10

$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. 用file_get_contents函数,以post方式获取url

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$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、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

  ?

1

2

3

4

5

6

7

8

9

$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;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn