İçeriğe geç
Guides 5 dk okuma 1028 görüntülenme

cURL ile proxy kullanımı

Bu makale, cURL ile proxy'lerin nasıl etkin kullanılacağını ayrıntılı anlatır. Güvenli, anonim ve verimli web istekleri için komut örnekleri bulun.

cURL ile proxy kullanımı

cURL ile proxy kullanmak, proxy sunucusunun adresini ve portunu -x veya --proxy komut satırı seçeneğiyle belirtmek anlamına gelir; böylece cURL istekleri bir ara sunucu üzerinden yönlendirilir.

Bu makale, cURL'ün proxy servisleriyle çalışmak için sunduğu çeşitli yöntemleri ve komut satırı seçeneklerini ayrıntılı olarak ele alır: temel HTTP/HTTPS proxy'ler, kimlik doğrulamalı proxy'ler, SOCKS proxy'ler ve ortam değişkenleriyle yapılandırma.

Temel proxy yapılandırması

cURL'e bir proxy kullanmasını söylemenin en yaygın yolu, ardından proxy sunucusunun adresi ve portu gelen -x veya --proxy seçeneğidir.

HTTP/HTTPS proxy

Bir HTTP veya HTTPS isteğini HTTP/HTTPS proxy üzerinden yönlendirmek için proxy adresini ve portunu belirtin.

Söz dizimi:

curl -x [protocol://][user:password@]proxyhost[:port] [URL]

Örnekler:

  1. HTTP hedefi için HTTP proxy kullanımı:
    bash curl -x http://your.proxy.server:8080 http://example.com
    Bu komut, cURL'e http://example.com isteğini HTTP proxy protokolüyle your.proxy.server üzerindeki 8080 portundan göndermesini söyler.

  2. HTTPS hedefi için HTTP proxy kullanımı:
    bash curl -x http://your.proxy.server:8080 https://secure.example.com
    Bir HTTPS hedefi HTTP proxy üzerinden geçirilirken cURL genellikle proxy üzerinden hedef sunucuya bir tünel kurmak için CONNECT yöntemini kullanır. SSL/TLS el sıkışması bunun ardından doğrudan cURL ile secure.example.com arasında gerçekleşir; şifrelemeye HTTP proxy dahil olmaz.

  3. HTTP hedefi için HTTPS proxy kullanımı:
    bash curl -x https://your.secure.proxy.server:8443 http://example.com
    Bu, isteği kendisi HTTPS kullanan bir proxy üzerinden yönlendirir. cURL ile your.secure.proxy.server arasındaki bağlantı şifrelenir.

Kimlik doğrulamalı proxy'ler

Birçok proxy servisi kimlik doğrulama ister. cURL, proxy'ler için başta Basic, NTLM ve Digest olmak üzere çeşitli kimlik doğrulama yöntemlerini destekler.

Basic kimlik doğrulama

Kullanıcı adı ve parola isteyen proxy'ler için --proxy-user seçeneğini kullanın ya da kimlik bilgilerini doğrudan proxy URL'sine gömün.

Söz dizimi:

curl -x [protocol://]proxyhost[:port] --proxy-user "username:password" [URL]
curl -x [protocol://]username:password@proxyhost[:port] [URL]

Örnekler:

  1. --proxy-user kullanımı:
    bash curl -x http://your.proxy.server:8080 --proxy-user "proxyuser:proxypass" http://example.com

  2. Kimlik bilgilerini URL'ye gömme:
    bash curl -x http://proxyuser:[email protected]:8080 http://example.com
    Kullanıcı adında veya parolada özel karakterler varsa bunların URL kodlaması yapılmalıdır. Örneğin p@ssword parolası p%40ssword olmalıdır.

Diğer kimlik doğrulama yöntemleri

Basic kimlik doğrulama yaygın olsa da cURL, belirli ortamlar için başka yöntemleri de destekler.

  • --proxy-ntlm: proxy için NTLM kimlik doğrulamasını etkinleştirir.
  • --proxy-digest: proxy için Digest kimlik doğrulamasını etkinleştirir.

Örnek (NTLM):

curl -x http://your.proxy.server:8080 --proxy-ntlm --proxy-user "DOMAIN\proxyuser:proxypass" http://example.com

SOCKS proxy'ler

SOCKS (Socket Secure) proxy'ler, HTTP proxy'lere göre daha alt bir seviyede çalışır ve çeşitli ağ protokollerini işler. cURL; SOCKS4, SOCKS4a ve SOCKS5'i destekler.

SOCKS5 proxy

SOCKS5, IPv4, IPv6, UDP ve kimlik doğrulamayı destekleyen, en çok yönlü SOCKS protokolüdür.

Söz dizimi:

curl --socks5 [user:password@]proxyhost[:port] [URL]

Örnekler:

  1. Temel SOCKS5 proxy:
    bash curl --socks5 your.socks5.server:1080 http://example.com
    cURL varsayılan olarak example.com alan adını yerel olarak çözer ve IP adresini SOCKS5 proxy'ye gönderir.

  2. Uzaktan DNS çözümlemeli SOCKS5 proxy:
    bash curl --socks5-hostname your.socks5.server:1080 http://example.com
    --socks5-hostname seçeneği cURL'e example.com alan adını SOCKS5 proxy'ye göndermesini söyler; böylece DNS çözümlemesini proxy yapar. Yerel DNS çözümlemesinin konumunuzu ele verebildiği durumlarda bu, anonimlik ve coğrafi kısıtlamaları aşmak için kritiktir.

  3. Kimlik doğrulamalı SOCKS5 proxy:
    bash curl --socks5-hostname socksuser:[email protected]:1080 http://example.com

SOCKS4/SOCKS4a proxy

SOCKS4, esas olarak IPv4'e yönelik eski bir protokoldür ve kimlik doğrulamayı desteklemez. SOCKS4a, proxy'nin alan adlarını çözebilmesi için SOCKS4'ü genişletir.

Söz dizimi:

curl --socks4 proxyhost[:port] [URL]
curl --socks4a proxyhost[:port] [URL]

Örnek (SOCKS4a):

curl --socks4a your.socks4.server:1080 http://example.com

--socks5-hostname seçeneğine benzer biçimde --socks4a, hedef alan adının proxy tarafından çözülmesini sağlar.

SSL/TLS ile HTTPS hedeflerinin proxy'lenmesi

cURL bir HTTPS isteğini HTTP proxy üzerinden geçirdiğinde, proxy'ye bir CONNECT isteği başlatır. Proxy daha sonra hedef HTTPS sunucusuna bir TCP tüneli kurar. cURL, SSL/TLS el sıkışmasını bu tünel üzerinden doğrudan hedef sunucuyla yapar.

SSL sertifika doğrulaması

cURL varsayılan olarak hedef sunucunun SSL sertifikasını doğrular. Sertifika geçersiz, süresi dolmuş veya kendinden imzalıysa cURL bağlantıyı sonlandırır.

  • --insecure veya -k: SSL sertifika doğrulamasını kapatır. Dikkatli kullanın; esas olarak test ortamları veya kendinden imzalı sertifika kullanan, güvenilirliği bilinen ortamlar içindir.
    bash curl -x http://your.proxy.server:8080 https://self-signed.example.com -k

  • --cacert [file]: doğrulama için özel bir CA sertifika paketi belirtir.
    bash curl -x http://your.proxy.server:8080 https://secure.example.com --cacert /path/to/custom_ca.pem

Proxy yapılandırması için ortam değişkenleri

cURL, proxy ayarlarını ortam değişkenlerinden de alabilir. Bu, her komutta -x seçeneğini belirtmeden sistem geneli veya oturum geneli proxy yapılandırması için kullanışlıdır.

Yaygın ortam değişkenleri

  • http_proxy: HTTP istekleri için proxy.
  • https_proxy: HTTPS istekleri için proxy.
  • all_proxy: http_proxy veya https_proxy tanımlı değilse tüm protokoller için yedek proxy.
  • no_proxy: proxy'yi atlaması gereken alan adlarının, alanların veya IP adreslerinin virgülle ayrılmış listesi.

Söz dizimi:

export http_proxy="http://your.proxy.server:8080"
export https_proxy="http://your.proxy.server:8080" # Not: HTTPS hedefleri için genellikle bir HTTP proxy kullanılır
export no_proxy="localhost,127.0.0.1,.localdomain"

Örnekler:

  1. HTTP proxy tanımlama:
    bash export http_proxy="http://proxyuser:[email protected]:8080" curl http://example.com

  2. HTTPS proxy tanımlama (HTTP proxy üzerinden):
    bash export https_proxy="http://your.proxy.server:8080" curl https://secure.example.com

  3. Belirli hostlar için proxy'yi atlama:
    bash export http_proxy="http://your.proxy.server:8080" export no_proxy="internal.example.com" curl http://internal.example.com # Bu istek proxy'yi atlayacak curl http://external.example.com # Bu istek proxy'yi kullanacak

Öncelik

Komut satırı seçenekleri, ortam değişkenlerine göre önceliklidir. -x belirtilmişse, http_proxy, https_proxy veya all_proxy ortam değişkenlerinin tümünü geçersiz kılar.

Proxy bağlantılarında sorun giderme

cURL ve proxy'lerle ilgili sorunlarda tanı koymaya yardımcı olan birkaç seçenek vardır.

  • --verbose veya -v: proxy bağlantı denemeleri, başlıklar ve SSL/TLS anlaşması dahil olmak üzere istek ve yanıt hakkında ayrıntılı bilgi verir. Genellikle hata ayıklamanın ilk adımıdır.
    bash curl -v -x http://your.proxy.server:8080 http://example.com

  • --trace [file]: başlıklar ve gövde dahil, gelen ve giden tüm verilerin tam izini belirtilen dosyaya döker.
    bash curl --trace debug.log -x http://your.proxy.server:8080 http://example.com

  • Proxy sunucu logları: cURL isteklerinizle ilgili bağlantı denemeleri, kimlik doğrulama hataları veya hata mesajları için proxy sunucunuzun loglarını inceleyin.

  • Ağ erişilebilirliği: cURL'ü çalıştıran makinenin proxy sunucusuna belirtilen porttan erişebildiğini ping, telnet veya netcat gibi araçlarla doğrulayın.
    bash telnet your.proxy.server 8080
    Başarılı bir telnet bağlantısı, temel ağ erişilebilirliğini gösterir.

Temel proxy seçeneklerinin karşılaştırması

cURL seçeneği Açıklama Protokoller Kimlik doğrulama DNS çözümleme
-x, --proxy Genel proxy tanımı (HTTP/HTTPS proxy) HTTP, HTTPS Var Yerel
--proxy-user Proxy kimlik doğrulaması için kullanıcı adı ve parola belirtir HTTP, HTTPS Var Yok
--socks5 SOCKS5 proxy, varsayılan olarak yerel DNS çözümleme Tümü Var Yerel
--socks5-hostname SOCKS5 proxy, uzaktan DNS çözümleme Tümü Var Uzak (proxy)
--socks4 SOCKS4 proxy, yerel DNS çözümleme Tümü Yok Yerel
--socks4a SOCKS4a proxy, uzaktan DNS çözümleme Tümü Yok Uzak (proxy)
http_proxy (env) HTTP proxy için ortam değişkeni HTTP Var Yerel
https_proxy (env) HTTPS proxy için ortam değişkeni (tünelleme için genellikle bir HTTP proxy) HTTPS Var Yerel
all_proxy (env) Diğerleri tanımlı değilse tüm protokoller için ortam değişkeni Tümü Var Yerel
no_proxy (env) Proxy'yi atlaması gereken hostları belirten ortam değişkeni Yok Yok Yok
Güncellendi: 03.03.2026
Kategoriye dön

Bunları da okuyun

Guides 2 dk

Nike SNKRS için Proxy: Sınırlı Sürümler ve Çoklu Katılım

Nike SNKRS'ta birden fazla hesapla çekilişlere katılmak, IP limitlerini aşmak ve ban yemeden sınırlı sürümleri kapmak için residential veya mobil proxy kullanın. Hangi türü seçmeli ve nasıl kurmalı.

Guides 2 dk

iPhone'da Proxy Nasıl Kurulur (Wi-Fi ve SOCKS5)

iPhone'da proxy'yi yerleşik Wi-Fi ayarlarından (HTTP/HTTPS) veya SOCKS5 ile hücresel kapsama için Shadowrocket gibi bir uygulamayla kurun. Adım adım iOS kurulumu ve bilinmesi gereken kısıtlar.

Guides 3 dk

Tinder için proxy: çoklu hesap ve ban'lerden kaçınma

Birden fazla profil işletmek ve IP shadowban'lerinden kaçınmak için Tinder'da mobil veya residential proxy kullanın. Mobilin neden kazandığı, kurulumu ve proxy'nin şehri neden değiştirmediği.

Guides 2 dk

StockX için proxy: fiyat takibi ve hesap yönetimi

StockX'te fiyatları izlemek, birden fazla hesap çalıştırmak ve drop'ları yasaklanmadan kapmak için residential, ISP veya mobil proxy kullanın. Hangi türü seçeceğinizi ve nasıl kuracağınızı anlatıyoruz.

Guides 3 dk

OpenAI API için Proxy: Erişim, Hız Limitleri ve Kurulum

OpenAI API'yi residential veya ISP proxy üzerinden yönlendirerek desteklenen bölgelere erişin, 429 hız limitlerinden kaçının ve hesapları izole edin. Hangi proxy'yi seçmeli ve Python kurulum örnekleri.

Guides 1 dk

E2E testleri için Cypress'te proxy kurulumu

Cypress'te proxy kurulumu: HTTP_PROXY değişkenleri, cy-proxy-middleware ve coğrafi konuma bağlı içeriğin test edilmesi.

Proxy'lerimizi deneyin

100+ ülkede 20,000+ proxy

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.