一个PHP并发访问实例代码
<?php
$start=$_GET['s'];
$end=$_GET['e'];
$requests = array();
for ($index = $start; $index < $end; $index++) {
$url="http://www.essort.com/amfphp/services/curl/loadTest.php?uid=$index";
$requests[]=$url;
}
$main = curl_multi_init();
$results = array();
$errors = array();
$info = array();
$count = count($requests);
for($i = 0; $i < $count; $i++) {
$handles[$i] = curl_init($requests[$i]);
var_dump($requests[$i]);
curl_setopt($handles[$i], CURLOPT_URL, $requests[$i]);
curl_setopt($handles[$i], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($main, $handles[$i]);
}
$running = 0;
do {
curl_multi_exec($main, $running);
} while($running > 0);
for($i = 0; $i < $count; $i++)
{
$results[] = curl_multi_getcontent($handles[$i]);
$errors[] = curl_error($handles[$i]);
$info[] = curl_getinfo($handles[$i]);
curl_multi_remove_handle($main, $handles[$i]);
}
curl_multi_close($main);
var_dump($results);
var_dump($errors);
var_dump($info);
?>
相关推荐
-
php之curl实现http与https请求的方法
本文实例讲述了php之curl实现http与https请求的方法,分享给大家供大家参考.具体如下: 通常来说,php的curl函数组可以帮助我们把机器伪装成人的行为来抓取网站,下面来分享两个例子,一个是访问http网页,一个访问https网页,一起来看一下. 每次要使用curl的时候,总要查一堆资料. 现在将常用的几句保存下来,省的每次都去谷歌. 常规curl请求: 复制代码 代码如下: $url = 'http://www.jb51.net'; $curl = curl_init(); cur
-
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展.下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay
-
在PHP中使用curl_init函数的说明
复制代码 代码如下: $ch = curl_init(); $c_url = 'http://www.baidu.com'; $c_url_data = "product_&type=".$type.""; curl_setopt($ch, CURLOPT_URL,$c_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_s
-
php curl 伪造IP来源的实例代码
curl发出请求的文件fake_ip.php: 代码 复制代码 代码如下: <?php $ch = curl_init(); $url = "http://localhost/target_ip.php"; $header = array( 'CLIENT-IP:58.68.44.61', 'X-FORWARDED-FOR:58.68.44.61', ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_
-
php使用curl并发减少后端访问时间的方法分析
本文实例讲述了php使用curl并发减少后端访问时间的方法.分享给大家供大家参考,具体如下: 在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫 秒那么我们三个接口就要花费1500毫秒了,这个问题太头疼了严重影响了页面访问速度,有没有可能并发访问来提高速度呢?今天就简单的说一下,利用 curl并发来提高页面访问速度, 1.老的curl访问方式以及耗时统计 <?php function curl_fetc
-
php的curl实现get和post的代码
curl 支持SSL证书.HTTP POST.HTTP PUT .FTP 上传,kerberos.基于HTT格式的上传.代理.cookie.用户+口令证明.文件传送恢复.http代理通道就最常用的来说,是基于http的get和post方法. 代码实现: 1.http的get实现 复制代码 代码如下: $ch = curl_init("http://www.jb51.net/") ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; cur
-
PHP CURL获取返回值的方法
在CURL中有一个参数 CURLOPT_RETURNTRANSFER : 复制代码 代码如下: curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 默认是 0 直接返回获取的输出的文本流,有时候,我们要拿返回值来做判断或者做其他用途的话那就不太好了. 幸好CURLOPT_RETURNTRANSFER 可以设置,如果设置成CURLOPT_RETURNTRANSFER 1: 复制代码 代码如下: curl_setopt($ch, CURLOPT_RETURNT
-
PHP curl 获取响应的状态码的方法
PHP curl可以从服务器端模拟一个http请求,例如抓取网页.模拟登陆等.根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗.想要获取状态码,需要在执行curl_exec后再通过curl_getinfo来获取.例如: 复制代码 代码如下: $ch = curl_init (); curl_setopt($ch, CURLOPT_URL, 'http://www.google.com.hk'); curl_setopt($ch, CURLOPT_TI
-
PHP扩展CURL的用法详解
实现的功能: 1.实现远程获取和采集内容 2.实现PHP 网页版的FTP上传下载 3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies 4.实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息. 5.实现模拟Cookie等:登陆的状态下才可以操作一些属性. 如何使用CURL功能: 默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能 ;extension=php_curl.dll前面的分号去掉 1 整个操作过程中第一步是用cur_ini
-
PHP中使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() (2)设置变量 curl_setopt() .最为重要,一切玄妙均在此.有一长串cURL参数可供设置,它们能指定URL请求的各个细节.要一次性
-
php使用curl访问https示例分享
为方便说明,先上代码吧 复制代码 代码如下: /** * curl POST * * @param string url * @param array 数据 * @param int 请求超时时间 * @param bool HTTPS时是否进行严格认证 * @return string */ function curlPost($url, $data = array(), $timeout = 30, $CA = true){ $cace
-
基于PHP的cURL快速入门教程 (小偷采集程序)
最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 为什么要用 cURL? 是的,我们可以通过其他办法获取网页内容.大多数时候,我因为想偷懒,都直接用简单的PHP函数: $content = file_get_contents("http://www.jb51.net");// or$lines = file("http://www.jb51.net");// orreadfile(http://www.jb51.
随机推荐
- JQuery 弹出框定位实现方法
- Svn安装和使用_动力节点Java学院整理
- 详解Tomcat服务器绑定多域名和虚拟目录的方法
- Java实现的读取资源文件工具类ResourcesUtil实例【可动态更改值的内容】
- Oracle中查看引起Session阻塞的2个脚本分享
- 移动端触摸滑动插件swiper使用方法详解
- java与javascript之间json格式数据互转介绍
- 使用PHP+JQuery+Ajax分页的实现
- spl_autoload_register与autoload的区别详解
- React中ES5与ES6写法的区别总结
- 在 Shell 提示符中显示 Git 分支名称的方法
- Lua table的concat方法使用实例
- Android Tab 控件详解及实例
- Jquery $.getJSON 在IE下的缓存问题解决方法
- 枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
- 配置IIS服务器 支持sis下载等
- Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)
- win10系统中安装scrapy-1.1
- Android实现在map上画出路线的方法
- Android编程实现获取当前系统语言及地区并更改语言的方法