Սահմանել Symfony CurlHttpClient-ի նույնականացված proxy URL-ը
Կոդավորեք proxy հաշվի բաղադրիչները և բացահայտ պահեք API նպատակակետը, no_proxy բացառությունները և փոխադրման ընտրությունը։
$proxy = 'http://'
. rawurlencode($proxyUser) . ':'
. rawurlencode($proxyPassword)
. '@proxy.example:8080';
$client = new \Symfony\Component\HttpClient\CurlHttpClient([
'proxy' => $proxy,
'no_proxy' => 'localhost,internal.example',
]);
$response = $client->request('GET', 'https://api.example/items');
$status = $response->getStatusCode();rawurlencode կիրառվում է օգտանունը և գաղտնաբառը առանձին-ի նկատմամբ։ Ամբողջ URL-ի կոդավորումը կկոդավորեր նաև սխեմայի և հեղինակության բաժանիչները, որոնք անհրաժեշտ են լսողին գտնելու համար։
HTTP proxy-ն HTTPS API կապը փոխանցում է CONNECT-ի միջոցով։ Proxy հաշիվը չի փոխարինում API նույնականացմանը, և proxy մուտքի համար պարտադիր չէ http_version-ը դարձնել 2.0։
Ստորակետերով բաժանված no_proxy ցանկն ընտրում է նախատեսված ուղիղ հոսթերը։ Առանց բացահայտ ընտրանքների՝ բաղադրիչը կարող է փոխարենը օգտագործել իր աջակցվող միջավայրի կարգավորումները։
Սա ուղղակիորեն կառուցում է CurlHttpClient, ինչը պահանջում է PHP-ի cURL փոխադրումը։ Symfony-ի ընդհանուր ֆաբրիկան կարող է ընտրել այլ backend։ Մնացած մերժման դեպքում նույնացրեք այդ ընտրված փոխադրումը և պահպանեք proxy փուլի սխալը՝ հաշիվը նպատակակետ Authorization վերնագրի մեջ տեղափոխելու փոխարեն։