multi-cURL ट्रान्सफर त्यांच्या स्वतःच्या क्रमाने पूर्ण होतात. तुम्ही प्रत्येक हँडलला वेगळा प्रॉक्सी दिला असेल, तर पहिला पूर्ण झालेला निकाल तुमच्या इनपुट यादीतील पहिल्या प्रॉक्सीचा असणे आवश्यक नाही.

प्रत्येक हँडल कॉन्फिगर करताना स्थिर ट्रान्सफर ओळखकर्ता जोडा. तुम्ही निवडण्यायोग्य सार्वजनिक एंडपॉइंट तपासत असाल, तर HTTP प्रॉक्सी यादी HTTP उमेदवार देते. PHP libcurl ची खाजगी-डेटा यंत्रणा उघड करते:

$id = 'job-17';
curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_PRIVATE, $id);

जेव्हा curl_multi_info_read() पूर्ण झालेल्या ट्रान्सफरची नोंद देते, तेव्हा ओळखकर्ता पुन्हा मिळवण्यासाठी परत दिलेला हँडल वापरा:

$id = curl_getinfo($message['handle'], CURLINFO_PRIVATE);

त्या ओळखकर्त्याने की केलेली अ‍ॅप्लिकेशन नोंद ठेवा, ज्यात गंतव्य, कॉन्फिगर केलेला प्रॉक्सी आणि प्रयत्न क्रमांक असतो. दुसऱ्या प्रॉक्सीद्वारे पुन्हा प्रयत्न नवीन प्रयत्न नोंदीस पात्र आहे, जरी तो त्याच एकूण कामाचा असला तरी.

तीन प्रकारचे पत्ते वेगळे ठेवा

कॉन्फिगर केलेला प्रॉक्सी एंडपॉइंट म्हणजे cURL ला दिलेला पत्ता. कनेक्शनचा पीअर पत्ता cURL ने उघडलेल्या नेटवर्क कनेक्शनचे वर्णन करतो. गंतव्य-दिसणारा एक्झिट IP ही दुसऱ्या बाजूने कळवलेली माहिती आहे. ते वेगळे असू शकतात, विशेषतः साखळीबद्ध किंवा प्रदाता-व्यवस्थापित प्रॉक्सीसह.

खाजगी मेटाडेटा तुमची इच्छित कॉन्फिगरेशन नोंदवते; ते गंतव्याने कोणता IP पाहिला हे सिद्ध करू शकत नाही. उलट, गंतव्याचा IP प्रतिसाद तुमच्या प्रोग्राममधील कोणत्या हँडलने तो तयार केला हे आपोआप सांगत नाही.

नियमित लॉगमध्ये सुरक्षित प्रॉक्सी ओळखकर्ता साठवा. संपूर्ण एंडपॉइंटमध्ये क्रेडेन्शियल्स असल्यास, प्रत्येक अयशस्वी ट्रान्सफरसाठी तो URL लॉग करणे संकेतशब्द तुमच्या संपूर्ण त्रुटी संग्रहात पसरवते.

हे छोटे हिशोबाचे पाऊल मिश्र निकाल वाचणे सोपे करते: एक काम, एक प्रयत्न, एक निवडलेला प्रॉक्सी आणि एक वास्तविक निकाल. तसेच PHP च्या संसाधन-आधारित आणि ऑब्जेक्ट-आधारित cURL API मध्ये बदललेल्या आकस्मिक हँडल प्रस्तुतींवर अवलंबून राहणे टाळते.

संबंधित लेख