Որ պրոքսին օգտագործեց այդ PHP multi-cURL փոխանցումը։
Պահպանեք պրոքսիի մետատվյալները յուրաքանչյուր cURL handle-ի հետ և տարբերեք կարգավորված երթուղին նպատակակետի տեսած ելքային IP-ից։
Multi-cURL փոխանցումներն ավարտվում են իրենց հերթականությամբ։ Եթե յուրաքանչյուր handle-ին տարբեր պրոքսի եք նշանակել, առաջին ավարտված արդյունքը պարտադիր չէ, որ պատկանի ձեր մուտքի ցուցակի առաջին պրոքսինը։
Յուրաքանչյուր handle կարգավորելիս կցեք կայուն փոխանցման նույնացուցիչ։ Եթե փորձարկում եք ընտրովի հանրային վերջնակետներ, 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() հաղորդում է ավարտված փոխանցման մասին, օգտագործեք վերադարձված handle-ը՝ նույնացուցը վերականգնելու համար՝
$id = curl_getinfo($message['handle'], CURLINFO_PRIVATE);
Պահեք այդ նույնացուցով բանալիավորված հավելվածի գրառում, որը պարունակում է նպատակակետը, կարգավորված պրոքսին և փորձի համարը։ Այլ պրոքսիով կրկնող փորձը արժանի շնորհում է նոր փորձի գրառում, նույնիսկ եթե այն պատկանում է նույն ընդհանուր աշխատանքին։
Առանձնացրեք երեք տեսակի հասցեներ
Կարգավորված պրոքսիի վերջնակետը cURL-ին տրված հասցեն է։ Կապի զույգընկերոջ հասցեն նկարագրում է ցանցային կապը, որը բացել է cURL-ը։ Նպատակակետի տեսած ելքային IP-ն տեղեկություն է, որը հաղորդվում է մյուս կողմից։ Դրանք կարող են տարجրվել, հատկապես շղթայված կամ մատակարարողի կողմից կառավարվող պրոքսիների դեպքում։
Մասնավոր մետատվյալները գրանցում են ձեր նախատեսված կարգավորումը, սակայն չեն կարող ապացուցել, թե որ IP-ն է տեսել նպատակակետը։ Հակառակը՝ նպատակակետի IP պատասխանը ինքնաբերաբար չի ասում, թե ձեր ծրագրի որ handle-ն է այն ստեղծել։
Սովորական մատյաններում պահեք անվտանգ պրոքսիի նույնացուց։ Եթե ամբողջ վերջնակետը պարունակում է հավատարմագրեր, ապա այդ URL-ի գրանցումը յուրաքանչյուր ձախողված փոխանցման համար տարածում է գաղտնաբառը ձեր սխալների ողջ հավաքածում։
Հաշվետռության այս փոքր քայլը հեշտացնում է խառնախառն արդյունքները՝ մեկ աշխատանք, մեկ փորձ, մեկ ընտրված պրոքսի և մեկ փաստական արդյունք։ Այն նաև խուսափում է PHP-ի ռեսուրսային և օբյեղտային cURL API-ների միջև փոխված պատահական handle ներկայացումներին ապավինելուց։