DEV Community

Ali Orhun Akkirman for Açıklab

Posted on

2

Guzzle üzerinden Proxy kullanımı

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.

Ortam değişkenleri ile proxy ayarı

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"
Enter fullscreen mode Exit fullscreen mode

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.

Yazılım üzerinden proxy ayarı

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 GuzzleHttp\Client;

$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();
Enter fullscreen mode Exit fullscreen mode

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More