php 获取网页响应代码curl方式和get_headers两种方法获取网页大小和返回码

2015年04月14日 13:54 by:老修--走失的镜头盖

获取网页或图片或文件或压缩包大小,获取网页返回码的方法有很多种,推荐效率最高的两种:

1. get_headers方法

2. culr方法,强烈推荐使用php的curl方法来操作,原因很简单,高效高级支持翻墙多线程等。

代码如下:

  1. <?php
  2. header("Content-Type:text/html;charset=utf-8");
  3. date_default_timezone_set('PRC'); //初始化本地时间
  4. ini_set("display_errors", "On"); 
  5. error_reporting(E_ALL | E_STRICT); 
  6. $url = "http://lao8.org";//要获取页面、图片、文件的url
  7. // echo "<pre>";
  8. // 第一种方法:缺点是有可能获取失败
  9. // $a = get_headers($url,true);
  10. // print_r($a);//输出header响应信息
  11. // 第二种方法:效率较高推荐使用
  12. $ch = curl_init (); 
  13. curl_setopt($ch, CURLOPT_URL, $url); 
  14. curl_setopt($ch, CURLOPT_TIMEOUT, 200); 
  15. curl_setopt($ch, CURLOPT_HEADER, false); //不需要输出头部信息
  16. curl_setopt($ch, CURLOPT_NOBODY, true); //不用输出内容
  17. #curl_setopt( $ch, CURLOPT_POSTFIELDS, "username=".$username."&password=".$password ); 
  18. curl_setopt($ch, CURLOPT_PROXY, "124.88.67.40:81");//翻墙设置
  19. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //超时重试
  20. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //抓取转跳
  21. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); //post方式提交
  22. curl_exec($ch); 
  23. $a = curl_getinfo($ch,CURLINFO_HTTP_CODE); //获取url响应
  24. $b = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL); //获取真实的url
  25. $c = curl_getinfo($ch,CURLINFO_CONTENT_LENGTH_DOWNLOAD); //获取页面大小
  26. curl_close($ch);
  27. echo $a."|".($c);
  28. ?>
标签:curl get_headers