-
php中file_get_contents与curl效率及稳定性的分析
本文为大家讲解的是php中file_get_contents与curl效率及稳定性的分析,感兴趣的同学参考下。 做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设置了超时,可多数时候不会奏效: $config['context'] = stream_context_create(array(‘http' => array(‘method' => “GET”, 'timeout' => 5//这个超时时间不稳定,经常不奏效 ) )); 这时候,看一下服务器的连接池,会发现一堆类似的错误,让你头疼万分: file_get_contents(http://***): failed to open stream… 不得已,安装了curl库,写了一个函数替换: ...
PHP 2014-12-16 09:54:06 -
PHP开启curl及一个简单示例
本文为大家进解的是PHP开启curl及一个简单示例,感兴趣的同学参考下. 新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法,下面为大家介绍下开启curl的步骤 今天在做一个新浪登录功能,新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法。 经搜索得知需要开启curl的php扩展,那curl又是什么呢?能做什么? 简单介绍,当我们需要抓去某个网站的数据信息时,可以用到file(),file_get_contents()等网页读取函数,因为 过多的小偷程序泛滥,导致一些站点做了域名限制,从而是的这些file()函数效率低下甚至失效...
PHP 2014-12-16 08:12:06 -
PHP的cURL库功能简介 抓取网页、POST数据及其他
本文是PHP的cURL库功能简介 抓取网页、POST数据及其他应用示例讲解,感兴趣的同学参考下。 本文介绍了PHP的cURL库的几个使用方法...
PHP 2014-12-16 05:57:03 -
Curl报错:CURL ERROR: Recv failure: Connection reset by peer的解决方法
本文为大家讲解的是php Curl报错:CURL ERROR: Recv failure: Connection reset by peer的解决方法,感兴趣的同学参考下。 最近在使用curl中遇到CURL ERROR: Recv failure: Connection reset by peer的报错提示,现把解决方法与大家共享,希望对大家有所帮助...
PHP 2014-12-16 04:12:04 -
php利用curl 多线程 模拟 并发的详解
本文为大家讲解的是php利用curl 多线程 模拟 并发的详解,感兴趣的同学参考下。 首先,先了解下 php中的curl多线程函数: # curl_multi_add_handle # curl_multi_close # curl_multi_exec # curl_multi_getcontent # curl_multi_info_read # curl_multi_init # curl_multi_remove_handle # curl_multi_select 一般来说,想到要用这些函数时,目的显然应该是要同时请求多个url,而不是一个一个依次请求,否则不如自己循环去调curl_exec好了...
PHP 2014-12-16 04:06:07 -
PHP读取CURL模拟登录时生成的Cookie文件的方法
本文为大家讲解的是PHP读取CURL模拟登录时生成的Cookie文件的方法,包括了curl的使用及cookie的操作,感兴趣的朋友可以参考下 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 $login_url = 'XXX'; $post_fields['email'] = 'XXXX'; $post_fields['password'] = 'XXXX'; $post_fields['origURL'] = 'XXX'; $post_fields['domain'] = 'xxx.com'; //cookie文件存放在网站根目录的temp文件夹下 $cookie_file = tempnam('./temp','cookie'); $ch ...
PHP 2014-12-16 04:00:12 -
PHP和JavaScrip获取关联数组的键值示例代码
本文是一个PHP和JavaScrip获取关联数组的键值示例代码,感兴趣的同学参考下. PHP版: $o = array('x'=>1, 'y'=>2, 'z'=>3); $arr = array(); $i = 0; foreach( $o as $arr[$i++]=>$v )/*empty*/; var_dump($arr); //$arr = array('x', 'y', 'z'); JavaScrip版: var o = {x:1, y:2, z:3}; var arr = [], i = 0; for ( arr[i++] in o ) /*empty*/ ; console...
PHP 2014-12-16 03:57:05 -
php将多维数组转换为支持curl提交的一维数组格式
本文是一个php实现的将多维数组转换为支持curl提交的一维数组格式示例,感兴趣的同学参考下。 /** * @desc 多维数组转化为支持curl提交数组 */ public function toPost(array $params = array(), $pre = '') { $result = array(); foreach ($params as $key => $val) { &nbs...
PHP 2014-12-16 02:24:04 -
CURL的学习和应用(附多线程实现)
本文为大家讲解的是CURL的学习和应用(附多线程实现),感兴趣的同学参考下。 curl安装: windows下面的安装 :修改php.ini文件的设置,找到php_curl.dll //取消下在的注释extension=php_curl.dll linux下面安装: # wget http://curl.haxx.se/download/curl-7.17.1.tar.gz # tar zxvf curl-7.17.1.tar.gz //解压 #cd curl-7.17.1 # ./configure –prefix=/usr/local/curl # make # make install 这是安装php之前安装的方法. ***************************phpinf查看是否加载成功! 使用curl的POST数据飞信接口 用curl 写了飞信接口吧,网上有很多,这里只是做个测试 $username = 13800138000; $password = 123456; $se...
PHP 2014-12-16 00:54:09 -
php中curl_multi的使用说明
本文为大家讲解的是curl中的php中curl_multi的使用说明,感兴趣的同学参考下。 php的multi_curl功能慎用,因为某些版本的curl和php的搭配有Bug...
PHP 2014-12-16 00:33:11 -
php cURL和Rolling cURL并发方式比较
本文为大家讲解的是一个php cURL和Rolling cURL并发方式比较,感兴趣的同学参考下. 在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, 为了提高性能, 可以采用cURL提供的curl_multi_*族函数实现简单的并发。 本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比. 1. 经典cURL并发机制及其存在的问题 经典的cURL实现机制在网上很容易找到, 比如参考PHP在线手册的如下实现方式: function classic_curl($urls, $delay) { $queue = curl_multi_init(); $map = array(); foreach ($urls as $url) { &nbs...
PHP 2014-12-15 23:42:07 -
php为curl设置超时的方法
本文为大家讲解的是php中curl设置超时的方法,实例讲述了curl中各种超时设置的方法,非常实用的技巧,这在采集进非常有用,感兴趣的朋友可以参考下 访问HTTP方式很多,可以使用curl, socket, file_get_contents() 等方法。 在访问http时,需要考虑超时的问题...
PHP 2014-12-15 16:15:11