Guzzle üzerinden Proxy kullanmak için 2 yöntem bulunmaktadır. Guzzle kendi belgelendirmesinde belirttiği gibi BASH üzerinden tanımlanmış ortam değişkenlerine uyumluluk göstermektedir. Diğeri ise yazılım üzerinden proxy ayarının eklenebilmesidir.
Bu çalışma için sistem genelinde bash ortam değişkenlerini ekleyebilmek için /etc/environment dosyası içerisinde yeni satır olarak aşağıdaki satırlar eklenmelidir.
Tabi ki http ve https adresinde yer alan kullanıcı adı ve parola bilgileri ile IPADRESİ ve PORT bilgisi istenildiği şekilde düzenlenmelidir.
export http_proxy="http://kullaniciadi:parola@IPADRESI:PORT"
export https_proxy="http://kullaniciadi:parola@IPADRESI:PORT"
Bu satırlar eklentikten sonra çalışan servisler etkilenmeyecektir, çünkü servisler eski ortam değişkenleri ile ayağa kalkmıştır. Dolayısıyla en kestirme çözüm işletim sisteminin yeniden başlatılması olacaktır.
Bu ayar hardcoded olarak eklenmesi doğru olmayacağı için değiştirilebilir yapıda yazılımsal geliştirme gerekecektir.
Bunun için örnek bir proxy ayarı içeren kod aşağıdaki gibidir.
Tabi ki http ve https adresinde yer alan kullanıcı adı ve parola bilgileri ile IPADRESİ ve PORT bilgisi istenildiği şekilde düzenlenmelidir.
use GuzzleHttpClient;
$client = new Client([
"proxy" => [
'http' => 'http://kullaniciadi:parola@IPADRESI:PORT',
'https' => 'http://kullaniciadi:parola@IPADRESI:PORT'
],
'verify' => false
]);
$response = $client->get('https://api.ornek.org/?format=json');
echo $response->getBody();