Multi-cURL transportoj finiĝas laŭ sia propra ordo. Se vi asignis malsaman prokurilon al ĉiu tenilo, la unua finita rezulto ne nepre apartenas al la unua prokurilo en via eniga listo.

Aldonu stabilan transportan identigilon dum agordado de ĉiu tenilo. Se vi testas elekteblajn publikajn finpunktojn, la listo de HTTP-prokuriloj provizas HTTP-kandidatojn. PHP elmontras la privatajn-datumojn mekanismon de libcurl:

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

Kiam curl_multi_info_read() raportas finitan transporton, uzu la redonitan tenilon por reakiri la identigilon:

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

Tenadu aplikaĵan rikordon ŝlositan per tiu identigilo enhavantan la celon, la agorditan prokurilon kaj la provnumeron. Ripeto tra alia prokurilo meritas novan provrikordon, eĉ se ĝi apartenas al la sama tuta tasko.

Tenu tri specojn de adresoj aparte

La agordita prokurila finpunkto estas la adreso donita al cURL. La samtavola adreso de konekto priskribas la retkonekton, kiun cURL malfermis. Elira IP observata de la celo estas informo raportita de la alia flanko. Ili povas malsami, precipe ĉe ĉenitaj aŭ provizanto-administritaj prokuriloj.

Privataj metadatumoj registras vian intencitan agordon; ili ne povas pruvi, kiun IP la celo observis. Male, IP-respondo de la celo ne aŭtomate diras, kiu tenilo en via programo produktis ĝin.

Konservu sekuran prokurilan identigilon en rutinaj protokoloj. Se la plena finpunkto enhavas akreditaĵojn, registrado de tiu URL por ĉiu malsukcesa transporto disvastigas la pasvorton tra via tuta erarkolekto.

Ĉi tiu malgranda librotenada paŝo faciligas legi miksitajn rezultojn: unu tasko, unu provo, unu elektita prokurilo kaj unu fakta rezulto. Ĝi ankaŭ evitas fidi hazardajn tenilprezentojn, kiuj ŝanĝiĝis inter la resurso-bazitaj kaj objekto-bazitaj cURL-APIoj de PHP.

Rilataj artikoloj