Bitta cURL uzatishda mahalliy interfeys va proksini tanlang
Mahalliy manba uchun CURLOPT_INTERFACE va vositachi uchun CURLOPT_PROXY dan foydalaning, OS marshrutlash va NAT ni hisobga oling.
Bir nechta mahalliy manzilga ega mashina yuqori oqim proksisiga ulanish uchun ulardan birini talab qilishi mumkin. cURL ikkala tanlovni ham aniq amalga oshira oladi:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
Bu mavjud cURL handle uchun namunaviy konfiguratsiya. 192.0.2.20 ni PHP ishlayotgan mashinada haqiqatan mavjud manba manzili bilan almashtiring. Proksi hisobisiz ruxsat etilgan ommaviy so'rov uchun HTTP proksi ro'yxati proksi qiymati uchun masofaviy tinglovchini taqdim etishi mumkin.
CURLOPT_INTERFACE chiquvchi ulanishning mahalliy tomonini tanlaydi. CURLOPT_PROXY so'rovni oldinga olib boruvchi vositachini tanlaydi. Mahalliy manbani tanlash bu mashinani masofaviy proksiga aylantirmaydi va unga o'zboshimcha ommaviy IP bermaydi.
Bu yo'lda mahalliy tanlov proksiga qarab ulanishga ta'sir qiladi. Veb-sayt odatda proksining keyingi manba manzilini ko'radi. Har qanday juftlik orasidagi NAT har bir qabul qiluvchi ko'radigan manzilni yanada o'girishi mumkin.
Agar interfeys tanlovi qoldirilsa, libcurl mos manbani tanlashni TCP stekiga ruxsat beradi. Bu tanlov mashinaning tarmoq konfiguratsiyasiga bo'ysunadi; konfiguratsiya faylidagi birinchi manzil yutadi degan universal qoida yo'q.
libcurl qo'llab-quvvatlanadigan platformalarda interfeys nomlarini qabul qiladi, ammo uning hujjatlari bu parametr uchun Windows interfeys nomi tanlovini istisno qiladi. hostname ishlatish bloklovchi qidiruvni ham keltirib chiqarishi mumkin. Ilova ko'zda tutgan tanlov shu bo'lsa, ma'lum mahalliy manzil aniqroq kiritish hisoblanadi.