编程 php curl并发代码

2024-11-18 01:45:03 +0800 CST views 2413

#关于php curl的并发代码

1.先写个核心的时间的文件名为.test.php 代码如下

list($usec, $sec) = explode(" ", microtime());
$str= date("Y-m-d H:i:s.").(float)$usec;
file_put_contents("./test.txt",$str."\n",FILE_APPEND);
echo $str;

2,curl并发核心代码

$urls=[            
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
            "http://127.0.0.10/tp5/pay/public/test.php",
        ];
        $handle=[];
        $running = 0;
        $wait_usec = intval(30);
        $mh = curl_multi_init(); // multi curl handler
        foreach($urls as $key=>$url) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return don't print
            curl_setopt($ch, CURLOPT_TIMEOUT, 30);
            curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 6.4.4; zh-CN; Che1-CL10 Build/Che1-CL10) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.10.0.800 U3/0.8.0 Mobile Safari/534.30');
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 302 redirect
            //if ($post_data[$key]){curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data[$key]);}
            curl_setopt($ch, CURLOPT_MAXREDIRS, 7);
            curl_multi_add_handle($mh, $ch); // 把 curl resource 放进 multi curl handler 里
            $handle[$key] = $ch;
        }
        /* 执行 */
        do {
            curl_multi_exec($mh, $running);
            if ($wait_usec > 0) /* 每个 connect 要间隔多久 */
                usleep($wait_usec); // 250000 = 0.25 sec
        } while ($running > 0);
        foreach($handle as $i => $ch) {
            $content  = curl_multi_getcontent($ch);
            if (curl_errno($ch) == 0){
                 dump($content);
            }
        }
        /* 移除 handle*/
        foreach($handle as $ch) {
            curl_multi_remove_handle($mh, $ch);
        }
        curl_multi_close($mh);

#返回结果

string(26) "2018-05-14 02:01:08.0.3482"
string(26) "2018-05-14 02:01:08.0.3482"
string(26) "2018-05-14 02:01:08.0.3572"
string(26) "2018-05-14 02:01:08.0.3632"
string(26) "2018-05-14 02:01:08.0.3582"
string(26) "2018-05-14 02:01:08.0.3532"
string(26) "2018-05-14 02:01:08.0.3582"
string(26) "2018-05-14 02:01:08.0.3602"
string(26) "2018-05-14 02:01:08.0.3652"
string(26) "2018-05-14 02:01:08.0.3642"
string(26) "2018-05-14 02:01:08.0.3572"
string(26) "2018-05-14 02:01:08.0.3672"
string(26) "2018-05-14 02:01:08.0.3592"
string(26) "2018-05-14 02:01:08.0.3602"
string(26) "2018-05-14 02:01:08.0.3582"
string(26) "2018-05-14 02:01:08.0.3642"
复制全文 生成海报 编程 网络 PHP cURL 并发处理

推荐文章

Vue中如何处理异步更新DOM?
2024-11-18 22:38:53 +0800 CST
使用Vue 3实现无刷新数据加载
2024-11-18 17:48:20 +0800 CST
Vue3 组件间通信的多种方式
2024-11-19 02:57:47 +0800 CST
mysql关于在使用中的解决方法
2024-11-18 10:18:16 +0800 CST
Golang - 使用 GoFakeIt 生成 Mock 数据
2024-11-18 15:51:22 +0800 CST
使用 Git 制作升级包
2024-11-19 02:19:48 +0800 CST
Linux 网站访问日志分析脚本
2024-11-18 19:58:45 +0800 CST
pip安装到指定目录上
2024-11-17 16:17:25 +0800 CST
Nginx 负载均衡
2024-11-19 10:03:14 +0800 CST
如何实现生产环境代码加密
2024-11-18 14:19:35 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
Go 协程上下文切换的代价
2024-11-19 09:32:28 +0800 CST
Golang 中你应该知道的 Range 知识
2024-11-19 04:01:21 +0800 CST
Vue3中的自定义指令有哪些变化?
2024-11-18 07:48:06 +0800 CST
php内置函数除法取整和取余数
2024-11-19 10:11:51 +0800 CST
mendeley2 一个Python管理文献的库
2024-11-19 02:56:20 +0800 CST
liunx服务器监控workerman进程守护
2024-11-18 13:28:44 +0800 CST
15 个 JavaScript 性能优化技巧
2024-11-19 07:52:10 +0800 CST
程序员茄子在线接单