Rumah pembangunan bahagian belakang tutorial php php curl批处理-可控并发异步

php curl批处理-可控并发异步

Jun 13, 2016 pm 01:11 PM
curl multi while

php curl批处理--可控并发异步
在php的手册里面有一段代码:

$mrc = curl_multi_init();
//发出请求
.......
$active = null;
		do {
		    $mrc = curl_multi_exec($mh, $active);
		} while ($mrc == CURLM_CALL_MULTI_PERFORM);
		
		while ($active && $mrc == CURLM_OK) {
		    if (curl_multi_select($mh) != -1) {
		        do {
		            $mrc = curl_multi_exec($mh, $active);
		        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
		    }
		}
//下面是处理请求返回的结果
Salin selepas log masuk


这段do...while是用来控制并发的,效果是将$mrc所有的请求完毕,再执行response结果

但如果我有1000个请求,那么curl批处理将并发1000个请求,显然是不合理,所以应该要控制一个并发数,并且将剩余的连接添加到请求队列里:
参考:http://www.onlineaspect.com/2009/01/26/how-to-use-curl_multi-without-blocking/

  $mh = curl_multi_init();
        $ch = array();
        $chunck = 10; //并发控制数
        $all = count($urls);//所有的请求url数组
        $chunck = $all > $chunck ? $chunck : $all;
		
		$options = array(
			CURLOPT_HEADER=>FALSE,
			CURLOPT_RETURNTRANSFER=>TRUE,
			CURLOPT_FOLLOWLOCATION=>TRUE,
			CURLOPT_MAXREDIRS=>5,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0'
		);
		
		for($i = 0 ; $i <br><br>使用下来效果很好,没有副作用,并发数可控,应用之处多多,自己发挥想象吧
 <div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk merealisasikan penukaran bersama antara permintaan CURL dan python dalam python Bagaimana untuk merealisasikan penukaran bersama antara permintaan CURL dan python dalam python May 03, 2023 pm 12:49 PM

Kedua-dua curl dan Pythonrequests adalah alat yang berkuasa untuk menghantar permintaan HTTP. Walaupun curl ialah alat baris arahan yang membolehkan anda menghantar permintaan terus dari terminal, perpustakaan permintaan Python menyediakan cara yang lebih terprogram untuk menghantar permintaan daripada kod Python. Sintaks asas untuk menukar perintah curl kepada Pythonrequestscurl adalah seperti berikut: curl[OPTIONS]URL Apabila menukar arahan curl kepada permintaan Python, kita perlu menukar pilihan dan URL kepada kod Python. Berikut ialah contoh perintah curlPOST: curl-XPOST https://example.com/api

Dalam bahasa C, apakah perbezaan antara while(1) dan while(0)? Dalam bahasa C, apakah perbezaan antara while(1) dan while(0)? Aug 31, 2023 am 10:45 AM

Kita tahu bahawa dalam bahasa C, kata kunci 'while' digunakan untuk mentakrifkan gelung yang berfungsi berdasarkan syarat yang dihantar ke gelung. Sekarang, memandangkan syarat boleh mempunyai dua nilai, benar atau salah, kod di dalam blok while akan dilaksanakan berulang kali jika syarat itu benar dan tidak akan dilaksanakan jika syarat itu palsu. Sekarang, dengan menghantar parameter kepada gelung while, kita boleh membezakan antara while(1) dan while(0) kerana while(1) ialah gelung di mana keadaan sentiasa dianggap benar dan oleh itu kod di dalam blok akan mula dilaksanakan berulang kali. Tambahan pula, kita boleh menyatakan bahawa bukan 1 yang dihantar ke gelung yang menjadikan keadaan benar, tetapi jika sebarang integer bukan sifar dihantar ke gelung while, maka ia akan dianggap sebagai keadaan sebenar, jadi

Tutorial mengemas kini versi curl di bawah Linux! Tutorial mengemas kini versi curl di bawah Linux! Mar 07, 2024 am 08:30 AM

Untuk mengemas kini versi curl di bawah Linux, anda boleh mengikuti langkah di bawah: Semak versi curl semasa: Pertama, anda perlu menentukan versi curl yang dipasang dalam sistem semasa. Buka terminal dan laksanakan arahan berikut: curl --version Perintah ini akan memaparkan maklumat versi curl semasa. Sahkan versi curl tersedia: Sebelum mengemas kini curl, anda perlu mengesahkan versi terkini yang tersedia. Anda boleh melawati tapak web rasmi curl (curl.haxx.se) atau sumber perisian yang berkaitan untuk mencari versi terkini curl. Muat turun kod sumber curl: Menggunakan curl atau penyemak imbas, muat turun fail kod sumber untuk versi curl pilihan anda (biasanya .tar.gz atau .tar.bz2

PHP8.1 dikeluarkan: Memperkenalkan curl untuk pemprosesan serentak berbilang permintaan PHP8.1 dikeluarkan: Memperkenalkan curl untuk pemprosesan serentak berbilang permintaan Jul 08, 2023 pm 09:13 PM

PHP8.1 dikeluarkan: Memperkenalkan curl untuk pemprosesan serentak berbilang permintaan Baru-baru ini, PHP secara rasmi mengeluarkan versi terkini PHP8.1, yang memperkenalkan ciri penting: curl untuk pemprosesan serentak berbilang permintaan. Ciri baharu ini menyediakan pembangun cara yang lebih cekap dan fleksibel untuk mengendalikan berbilang permintaan HTTP, meningkatkan prestasi dan pengalaman pengguna dengan pesat. Dalam versi sebelumnya, pengendalian berbilang permintaan selalunya memerlukan mencipta berbilang sumber curl dan menggunakan gelung untuk menghantar dan menerima data masing-masing. Walaupun kaedah ini boleh mencapai tujuan

Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk membuat permintaan HTTP Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk membuat permintaan HTTP Jul 29, 2023 pm 05:07 PM

Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk permintaan HTTP Pengenalan: Dalam pembangunan web, selalunya perlu untuk berkomunikasi dengan API pihak ketiga atau pelayan jauh lain. Menggunakan cURL untuk membuat permintaan HTTP ialah cara yang biasa dan berkesan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melanjutkan cURL untuk melaksanakan permintaan HTTP dan menyediakan beberapa contoh kod praktikal. 1. Penyediaan Pertama, pastikan php telah memasang sambungan cURL. Anda boleh melaksanakan php-m|grepcurl pada baris arahan untuk menyemak

Bagaimana untuk mengendalikan 301 pengalihan semula halaman web dalam PHP Curl? Bagaimana untuk mengendalikan 301 pengalihan semula halaman web dalam PHP Curl? Mar 08, 2024 am 11:36 AM

Bagaimana untuk mengendalikan 301 pengalihan semula halaman web dalam PHPCurl? Apabila menggunakan PHPCurl untuk menghantar permintaan rangkaian, anda akan sering menemui kod status 301 yang dikembalikan oleh halaman web, yang menunjukkan bahawa halaman itu telah diubah hala secara kekal. Untuk mengendalikan situasi ini dengan betul, kami perlu menambah beberapa pilihan khusus dan logik pemprosesan pada permintaan Curl. Berikut akan memperkenalkan secara terperinci cara mengendalikan 301 pengalihan semula halaman web dalam PHPCurl, dan memberikan contoh kod khusus. Prinsip pemprosesan 301 ubah hala 301 ubah hala bermakna pelayan mengembalikan 30

apa itu linux curl apa itu linux curl Apr 20, 2023 pm 05:05 PM

Di Linux, curl ialah alat yang sangat praktikal untuk memindahkan data ke dan dari pelayan Ia adalah alat pemindahan fail yang menggunakan peraturan URL untuk berfungsi di bawah baris arahan ia menyokong muat naik dan muat turun fail, dan merupakan alat pemindahan yang komprehensif. Curl menyediakan banyak fungsi yang sangat berguna, termasuk akses proksi, pengesahan pengguna, muat naik dan muat turun ftp, HTTP POST, sambungan SSL, sokongan kuki, resume titik putus dan sebagainya.

Bagaimana untuk menetapkan kuki dalam php curl Bagaimana untuk menetapkan kuki dalam php curl Sep 26, 2021 am 09:27 AM

Cara menetapkan kuki dalam php curl: 1. Buat fail contoh PHP 2. Tetapkan pilihan penghantaran cURL melalui fungsi "curl_setopt" 3. Lulus kuki dalam CURL.

See all articles