پیکربندی پروکسی با CURLRequest در CodeIgniter 4.4+
نشانی پروکسی را در گزینههای CURLRequest در CodeIgniter 4.4 یا جدیدتر قرار دهید و رفتار CONNECT را در نظر بگیرید.
CodeIgniter 4.4.0 گزینهٔ پروکسی را به CURLRequest افزود. نشانی پروکسی را در آرایهٔ گزینههای درخواست قرار دهید:
$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
'proxy' => 'http://proxy.example:8080',
'connect_timeout' => 5,
'timeout' => 30,
]);
گزینهٔ proxy یک رشتهٔ URL میپذیرد. نگاشت http/https به سبک Requests قالبی متفاوت است. اگر این گزینه در دسترس نیست، نسخهٔ نصبشدهٔ CodeIgniter را بررسی کنید.
CURLRequest برای این گزینه CURLOPT_PROXY را تنظیم میکند و CURLOPT_HTTPPROXYTUNNEL را فعال میسازد. بنابراین واسط HTTP باید CONNECT به مقصد موردنظر را مجاز کند.
در نشانی پروکسی از طرح واقعی شنونده استفاده کنید و نقطهٔ پایانی API را در نشانی درخواست نگه دارید. برای درخواستهای مجاز به APIهای عمومی، فهرست پروکسی HTTP گزینههایی برای نشانی پروکسی HTTP فراهم میکند؛ بررسی کنید که گره CONNECT به مقصد واقعی را مجاز میکند. پاسخ بازگشتی و خطاها را از مسیر فراخوانی موجود برنامه مدیریت کنید.