הגדרת פרוקסי ב-CurlTransport של Yii2
בחרו CurlTransport לפני העברת CURLOPT_PROXY ואפשרויות אימות הפרוקסי לבקשת לקוח ה-HTTP של Yii2.
בחרו CurlTransport לפני העברת אפשרויות CURLOPT מספריות. לקוח ה-HTTP של Yii2 משתמש כברירת מחדל ב-StreamTransport ואינו הופך ל-cURL רק מפני שהקבועים האלה קיימים:
$client = new \yii\httpclient\Client([
'transport' => \yii\httpclient\CurlTransport::class,
]);
$response = $client->createRequest()
->setMethod('GET')
->setUrl('https://api.example/items')
->setOptions([
CURLOPT_PROXY => 'http://proxy.example:8080',
CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
CURLOPT_PROXYUSERNAME => $proxyUser,
CURLOPT_PROXYPASSWORD => $proxyPassword,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 15,
])
->send();השתמשו בסביבת PHP עם הרחבת cURL. הדוגמה מניחה פרוקסי HTTP שמקבל Basic; התאימו את הפרוקסי לשיטה שהתעבורה תומכת בה.
CURLOPT_PROXYAUTH בוחר אימות מול המתווך. CURLOPT_HTTPAUTH והרשאת ה-API משרתים במקום זאת את היעד.
אפשרויות הבקשה המשותפות של Yii2, ובהן פרוקסי הרגיש לאותיות גדולות וקטנות ומגבלות זמן, הן ממשק אחר. הן אינן הופכות קבועי cURL שרירותיים לניידים בין עורפים.
אם Client.requestConfig מספק ברירות מחדל שחייבות לשרוד, השתמשו ב-addOptions לתוספות לכל בקשה. setOptions המוצג מחליף את האוסף הזה ועלול להסיר בחירות שעברו בירושה.