



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 w 页码,6/9(W $working_urls = $chinfo'url' / 12. 移除句柄 curl_multi_remove_handle($mh, $mhinfo'handle' curl_close($mhinfo'handle' / 13. 加入新URL,干活 if (add_url_to_multi_handle($mh, $url_list do
2、 $mrc = curl_multi_exec($mh, $active while ($mrc = CURLM_CALL_MULTI_PERFORM / 14. 完了 curl_multi_close($mh echo "=Dead URLs=n" echo implode("n",$dead_urls .
3、"nn" echo "=404 URLs=n" echo implode("n",$not_found_urls . "nn" echo "=Working URLs=n" echo implode("n",$working_urls / 15. 向批处理器添加url function add_url_to
4、_multi_handle($mh, $url_list static $index = 0 / 如果还剩url没用 if ($url_list$index / 新建curl句柄 $ch = curl_init( / 配置url curl_setopt($ch, CURLOPT_URL, $url_list$index / 不想输出返回的内容 curl_setopt($ch, CURLOPT_RETU
5、RNTRANSFER, 1 / 重定向到哪儿我们就去哪儿 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 / 不需要内容体,能够节约带宽和时间 curl_setopt($ch, CURLOPT_NOBODY, 1 / 加入到批处理器中 curl_multi_add_handle($mh, $ch / 拨一下计数器,下次调用该函数就能添加下一个url了 $index+ return true else
6、60; / 没有新的URL需要处理了 return false 下面解释一下以上代码。列表的序号对应着代码注释中的顺序数字。 1. 新建一个批处理器。Created a multi handle. 2. 稍后我们将创建一个把URL加入批处理器的函数 add_url_to_multi_handle( 。每当这个函数被调用,就有一个新url被加入批处理器。一开始,我们给 批处理器添加了10个URL(这一数字由 $max_connection
7、s 所决定)。 3. 运行 curl_multi_exec( 进行初始化工作是必须的,只要它返回 CURLM_CALL_MULTI_PERFORM 就还有事情要做。这么做主要是为了创建连接, 它不会等待完整的URL响应。 4. 只要批处理中还有活动连接主循环就会一直持续。 5. curl_multi_select( 会一直等待,直到某个URL查询产生活动连接。 6. cURL的活儿又来了,主要是获取响应数据。 7. 检查各种信息。
8、当一个URL请求完成时,会返回一个数组。 8. 在返回的数组中有一个 cURL 句柄。我们利用其获取单个cURL请求的相应信息。 9. 如果这是一个死链或者请求超时,不会返回http状态码。 10. 如果这个页面找不到了,会返回404状态码。 11. 其他情况我们都认为这个链接是可用的(当然,你也可以再检查一下500错误之类)。 12. 从该批次移除这个cURL句柄,因为它已经没有利用价值了,关了它! 13. 很好,现在可以另外加
9、一个URL进来了。再一次地,初始化工作又开始进行 14. 嗯,该干的都干了。关闭批处理器,生成报告。 15. 回过头来看给批处理器添加新URL的函数。这个函数每调用一次,静态变量 $index 就递增一次,这样我们才能知道还剩多少URL没处理。 我把这个脚本在我的博客上跑了一遍(测试需要,有一些错误链接是故意加上的),结果如下: 2010/8/4 w 页码,9/9(W 很有用哦! 8. Jones Says: 三月 5th, 201
10、0 at 2:28 上午 你好,呵呵,非常好的文章,学习了 9. william Says: 四月 13th, 2010 at 8:17 上午 晃眼 10. small2 Says: 六月 10th, 2010 at 6:03 下午 文章棒,主题爽! Leave a Reply Name (required Mail (will not
11、;be published (required Website Submit Comment 让我亲亲泥巴,让我亲亲泥巴,我的好妈妈。生活就是一场冷笑话。 l Categories ¡ ¡ ¡ ¡ ¡ JavaScript (1 Php (1 Vim (2 杂谈 (1 设计 (2 l Archives ¡ ¡ ¡ ¡ 2010年七月 2010年三月 2010年一月 2009年十二月 Search l 亲泥巴 | Kiss t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度崇明区危化品运输车辆租赁合同范本
- 2025年度房产抵押贷款买卖合同书
- 2025春国家开放大学教育教学改革研究项目合同
- 二零二五年度铜管材购销合同模板
- 2025年防雷接地施工及维护一体化服务合同
- 2025版风机租赁与销售一体化服务合同模板
- 2025版个人二手房买卖协议含房屋质量保证期限及维修责任
- 2025版葡萄酒线上线下联合促销销售合同
- 2025版柴油市场调查与分析合同模板
- 2025年度海上货物运输合同-集装箱运输管理及安全协议
- 动脉采血临床操作目的、适应症、禁忌症、操作流程、穿刺部位选择、注意事项及指南
- (高清版)DZT 0305-2017 天然场音频大地电磁法技术规程
- 2024年河南郑州航空港科创投资集团有限公司招聘笔试参考题库含答案解析
- 唐玄、肃之际中枢政局研究
- 先天性尺桡关节融合查房
- 八大危险作业检查表
- 电子厂未来三年的计划书
- 周三多管理学教学大纲
- 工程造价审计应急措施预案
- 眼球摘除患者的护理病例讨论
- 2023年海南省五指山市人民政府政务服务中心招聘10人笔试参考题库(共500题)答案详解版
评论
0/150
提交评论