Guzzle üzerinden Proxy kullanımı

guzzle-uzerinden-proxy-kullanimi

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"

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 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();
Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
a-step-by-step-guide-on-using-redux-toolkit-with-react

A step-by-step guide on using Redux Toolkit with React

Next Post
the-8-best-free-flowchart-templates-[+-examples]

The 8 Best Free Flowchart Templates [+ Examples]

Related Posts
irremote-程式庫搭配-adafruit-neopoxel-程式庫的問題

IRRemote 程式庫搭配 Adafruit_NeoPoxel 程式庫的問題

IRremote 是大家使用紅外線遙控實驗最常用的程式庫,由於接收紅外線遙控器訊號與時間極度相關,如果你的程式中有耗時較久的動作,就可能會影響到紅外線訊號接收的正確性。舉例來說,像是大家愛用的 WS2812B 燈串,串接越多顆燈,傳輸所有燈顏色的資料所耗的時間就越久,以底下這個採用 Adafruit_NeoPixel 程式庫顯示呼吸燈效果的程式為例: #include #include #include #define DECODE_NEC Adafruit_NeoPixel leds=Adafruit_NeoPixel(16, 7); void setup() { Serial.begin(115200);…
Read More