Aling proxy ang ginamit ng PHP multi-cURL transfer na iyon?
Panatilihin ang metadata ng proxy sa bawat cURL handle at ibukod ang naka-configure na ruta mula sa exit IP na nakikita ng destinasyon.
Ang mga multi-cURL transfer ay natatapos sa sarili nilang pagkakasunod-sunod. Kung nagtalaga ka ng ibang proxy sa bawat handle, ang unang natapos na resulta ay hindi laging kabilang sa unang proxy sa iyong listahan ng input.
Maglakip ng matatag na transfer identifier habang kino-configure ang bawat handle. Kung sinusubok mo ang mga pampublikong endpoint na mapipili, listahan ng HTTP proxy ay nagbibigay ng mga kandidatong HTTP. Inilalantad ng PHP ang mekanismo ng pribadong data ng libcurl:
$id = 'job-17';
curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_PRIVATE, $id);
Kapag curl_multi_info_read() ay nag-uulat ng natapos na transfer, gamitin ang ibinalik na handle upang mabawi ang identifier:
$id = curl_getinfo($message['handle'], CURLINFO_PRIVATE);
Panatilihin ang rekord ng application na naka-key sa identifier na iyon na naglalaman ng destinasyon, naka-configure na proxy, at numero ng pagtatangka. Ang muling pagtatangka sa ibang proxy ay karapat-dapat sa bagong rekord ng pagtatangka, kahit na kabilang ito sa parehong pangkalahatang trabaho.
Panatilihing hiwalay ang tatlong uri ng address
Ang naka-configure na proxy endpoint ay ang address na ibinibigay sa cURL. Inilalarawan ng peer address ng koneksyon ang network connection na binuksan ng cURL. Ang exit IP na nakikita ng destinasyon ay impormasyong iniuulat mula sa kabilang panig. Maaaring magkaiba ang mga ito, lalo na sa mga chain o provider-managed na proxy.
Itinatala ng pribadong metadata ang iyong nilalayong configuration; hindi nito mapapatunayan kung aling IP ang nakita ng destinasyon. Sa kabaligtaran, ang IP response ng destinasyon ay hindi awtomatikong nagsasabi kung aling handle sa iyong programa ang gumawa nito.
Mag-imbak ng ligtas na proxy identifier sa mga routine na log. Kung ang buong endpoint ay naglalaman ng mga kredensyal, ang pag-log ng URL na iyon sa bawat nabigong transfer ay nagpapakalat ng password sa buong koleksyon ng error mo.
Ang maliit na hakbang sa accounting na ito ay nagpapadali sa pagbasa ng magkahalong resulta: isang trabaho, isang pagtatangka, isang napiling proxy, at isang tunay na resulta. Iniiwasan din nito ang pagdepende sa mga incidental na representasyon ng handle na nagbago sa pagitan ng resource-based at object-based na cURL API ng PHP.