multi-cURL బదిలీలు తమ క్రమంలో పూర్తవుతాయి. మీరు ప్రతి handleకు వేరే proxy కేటాయించినట్లయితే, మొదట పూర్తైన ఫలితం మీ ఇన్‌పుట్ జాబితాలోని మొదటి proxyదే అని చెప్పలేము.

ప్రతి handleను కాన్ఫిగర్ చేస్తున్నప్పుడు స్థిరమైన బదిలీ గుర్తింపును జోడించండి. మీరు ఎంచుకోగల పబ్లిక్ ఎండ్‌పాయింట్లను పరీక్షిస్తుంటే, HTTP proxy జాబితా 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);

ఆ గుర్తింపుతో కీలితమైన అప్లికేషన్ రికార్డును ఉంచండి, అందులో గమ్యం, కాన్ఫిగర్ చేసిన proxy మరియు ప్రయత్న సంఖ్య ఉంటాయి. మరో proxy ద్వారా మళ్లీ ప్రయత్నం కొత్త ప్రయత్న రికార్డుకు అర్హం, అది అదే మొత్తం పనిలో భాగమైనా.

మూడు రకాల చిరునామాలను వేరుగా ఉంచండి

కాన్ఫిగర్ చేసిన proxy ఎండ్‌పాయింట్ cURLకు ఇచ్చిన చిరునామా. కనెక్షన్ యొక్క peer చిరునామా cURL తెరిచిన నెట్‌వర్క్ కనెక్షన్‌ను వివరిస్తుంది. గమ్యం చూసే exit IP అనేది మరో వైపు నివేదించే సమాచారం. అవి భిన్నంగా ఉండవచ్చు, ముఖ్యంగా చైన్ లేదా ప్రొవైడర్ నిర్వహించే proxyలతో.

ప్రైవేట్ మెటాడేటా మీ ఉద్దేశిత కాన్ఫిగరేషన్‌ను నమోదు చేస్తుంది; గమ్యం ఏ IP చూసిందో నిరూపించలేదు. దీనికి విరుద్ధంగా, గమ్యం యొక్క IP ప్రతిస్పందన మీ ప్రోగ్రామ్‌లోని ఏ handle దానిని ఉత్పత్తి చేసిందో స్వయంచాలకంగా చెప్పదు.

సాధారణ లాగ్‌లలో సురక్షితమైన proxy గుర్తింపును నిల్వ చేయండి. పూర్తి ఎండ్‌పాయింట్‌లో ఆధారాలు ఉంటే, ప్రతి విఫల బదిలీకి ఆ URLను లాగ్ చేయడం పాస్‌వర్డ్‌ను మీ మొత్తం లోపాల సేకరణలో వ్యాప్తి చేస్తుంది.

ఈ చిన్న అకౌంటింగ్ అడుగు మిశ్రమ ఫలితాలను చదవడం సులభతరం చేస్తుంది: ఒక పని, ఒక ప్రయత్నం, ఒక ఎంపిక చేసిన proxy మరియు ఒక వాస్తవ ఫలితం. PHP యొక్క వనరు-ఆధారిత మరియు వస్తువు-ఆధారిత cURL APIల మధ్య మారిన ఆకస్మిక handle ప్రాతినిధ్యాలపై ఆధారపడటాన్ని కూడా ఇది నివారిస్తుంది.

సంబంధిత వ్యాసాలు