免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3831 | 回复: 3

[代码] 纯PHP实现的全功能 Http_Client 类(支持php4,php5) [复制链接]

论坛徽章:
0
发表于 2010-10-16 23:17 |显示全部楼层
本帖最后由 hightman 于 2010-10-17 00:45 编辑

其实用PHP模拟抓取HTTP内容,非常简单,实现方式也非常多,但本代码仍具备以下特色:
1. 纯PHP代码实现,不依赖任何其它第三方库或扩展,兼容PHP4.1起的所有版本。
2. 能设置或读取所有的HTTP头
3. 包含全功能并且带有一定智能的COOKIE处理,同一实例多次请求中会智能发送必要的COOKIE,COOKIE数据与外部文件交换(导入、导出)。
4. 可以自动处理 HTTP 301,302的跳转
5. 最可贵的一点是,支持 Keep-Alive 的HTTP连接,特别适合一次运行需求多次请求同一主机的内容情况,如采集。
6. 通过内置的Download()方法可以续传下载文件。
7. 支持通过POST方式上传任意个文件文件,发送数组字段等。
8. 支持SSL。

其它应用参见代码内的注释,英文注释兼容PHPDOC风格,英文表达可能不一定准确和合乎语法,多多见谅。
希望对大家有用~~

  1. <?php
  2. /**
  3. * Full featured Http Client class in pure PHP (4.1+)
  4. *
  5. * API list:
  6. * Object  $http = new Http_Client([bool $verbose = false]);
  7. * integer $http->getStatus();
  8. * string  $http->getTitle();
  9. * string  $http->getUrl();
  10. * void    $http->setHeader(string $key[, string $value = null]);
  11. * mixed   $http->getHeader([string $key = null]);
  12. * void    $http->setCookie(string $key, string $value);
  13. * mixed   $http->getCookie([string $key = null[, string $host = null]]);
  14. * bool    $http->saveCookie(string $filepath);
  15. * bool    $http->loadCookie(string $filepath);
  16. * void    $http->addPostField(string $key, mixed $value);
  17. * void    $http->addPostFile(string $key, string $filename[, string $content = null]);
  18. * string  $http->Get(string $url[, bool $redirect = true]);
  19. * mixed   $http->Head(string $url[, bool $redirect = true]);
  20. * string  $http->Post(string $url[, bool redirect = true]);
  21. * bool    $http->Download(string $url[, string $filepath = null[, bool overwrite = false]);
  22. *
  23. * @author hightman <hightman@twomice.net>
  24. * @link http://www.hightman.cn/
  25. * @copyright Copyright &copy; 2008-2010 Twomice Studio
  26. * @version $Id: http_client.class.php,v 1.21 2010/10/16 02:46:24 hightman Exp $
  27. */
复制代码
源码排版实在太丑了,我把它删除了只保留API简易注释,其余的放入附件。

http_client.class.php.gz

7.53 KB, 下载次数: 108

论坛徽章:
0
发表于 2010-10-17 00:45 |显示全部楼层
更新了一下,支持GOOGLE的变态跳转。
测试URL: http://www.google.com.hk/search? ... mp;oq=&gs_rfai=

论坛徽章:
0
发表于 2010-10-18 18:09 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2010-10-18 23:25 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP