Proxy İle CURL Komutu Nasıl Kullanılır?

Günlük olarak proxy'lerle uğraşırken, proxy'leri test etmenize ve basit görevleri yürütmenize yardımcı olacak bir dizi aracın elinizin altında olması yararlıdır. Bu tür araçlardan biri de cURL'dir. Proxy'leri kullanmanıza yardımcı olmayı amaçlayan, kullanımı kolay ve sezgisel bir komut satırı aracıdır. CURL ile komut satırından istek gönderebilir, hata ayıklayabilir ve proxy kurabilirsiniz.

Bu kılavuzda (ve bazen öğretici), size cURL'yi nasıl çalıştıracağınız ve onu proxy'lerinizi kullanarak kazıma için ayarlamanın yolları hakkında derinlemesine bilgi sağlayacağız. İçeriklerden faydalanabilmeniz için en azından proxy'ler, ağ çalışma prensipleri ve web scraping temelleri hakkında temel bilgilere sahip olmanız gerekmektedir.

 

CURL nedir?

CURL adı, müşteri URL'si anlamına gelir. Platformlar arası bir kitaplıkla (libcurl) birleştirilmiş açık kaynaklı bir ortak hat aracıdır. Herhangi bir işletim sisteminde sanal olarak çalışan sunucular arasında veri aktarımı için kullanılır. CURL kodu, veri göndermenin veya almanın İnternet protokolleri kullanılarak yapıldığı neredeyse her yerde görülebilir (cURL, FTP, HTTP, DICT, IMAP, vb. dahil ancak bunlarla sınırlı olmamak üzere pratik olarak tüm popüler İnternet protokollerini destekler).

Tarihsel olarak cURL, İsveçli geliştirici Daniel Stenberg'in bir geçiş sohbet odasında döviz bozdurma için bir komut dosyası oluşturmaya karar verdiği 90'ların ortalarına kadar uzanır. Bu deneysel kod , FTP ortaya çıktıktan sonra daha sonra cURL olarak yeniden adlandırılan veri aktarımı için httpget 0.1 aracının oluşturulmasına yol açtı. 2000'li yıllardan bu yana, araç küresel bir popülerlik kazandı ve neredeyse İnternet'e bağlı tüm yazılım türlerinde mevcuttu.

 

Geliştiriciler neden cURL kullanıyor?

Araç, oldukça zor görevleri kolayca halledebildiği için geliştiriciler arasında popülerlik kazandı. cURL komut dosyası yazılabilir ve özel ayrıştırma kodu yazmadan kolay kazımaya izin veren bir kitaplığa sahiptir. CURL'de bulabileceğiniz başlıca avantajlar şunları içerir:

  • Test ve hata ayıklama için kullanımı kolay;
  • Aktarılan verilerle ilgili ayrıntılar;
  • Büyük hata günlüğü;
  • Çoklu protokol desteği;
  • URL'leri vb. belirtme yeteneği.

 

CURL komutu proxy ile nasıl kullanılır?
 

cURL'yi yükleme

CURL ile ilgili en iyi şey, tüm çağdaş işletim sistemlerinde kullanılabilir olmasıdır. Windows 10'dan daha eski bir sürüm kullanıyorsanız kurulum için cURL'yi indirmeniz gerekebilir. Bir Linux kullanıcısıysanız ve dağıtımınız cURL'ye sahip değilse, basit bir komut girerek kurabilirsiniz:

sudo apt install curl

CURL kurulduktan sonra, terminalde "curl" yazarak cURL'yi çalıştırabilirsiniz. “Curl -help” kullanmak için bir komut istemi görmelisiniz. “-help' komutu size kullanabileceğiniz komutların bir listesini verecektir.

Ayrıca, işletim sisteminize bağlı olarak curl, bayraklar veya komutlar için tek tire yerine çift tire kullanılmasını gerektirebilir. -help veya –help komutunu çalıştırarak bunu doğrulayabilirsiniz. CURL, sözdiziminin doğru sürümünün kullanımı konusunda size bilgi verecektir.
 

Proxy bağlama

Seçtiğiniz proxy hizmetinden bağımsız olarak, bir proxy sunucusu kullanarak cURL'yi kurmak için aşağıdaki bilgilere ihtiyacınız olacak:

  • vekil sunucu adresi
  • Liman
  • protokol
  • kullanıcı adı (proxy kimlik doğrulamalı cURL gerekiyorsa)
  • parola (proxy kimlik
    doğrulamalı cURL gerekiyorsa)
     

CURL'yi HTTP/HTTPS proxy ile kullanma

Geçerli IP'nizi geri almak için aşağıdaki test satırını çalıştırabilirsiniz:

curl https://httpbin.org/ip

Komut, makinenizin IP'sinden farklı bir IP döndürürse, proxy'niz düzgün çalışıyor demektir.

Hala proxy'nizi kurmanız gerekiyorsa, uygun bir cURL komut satırı bağımsız değişkeni çalıştırmanız gerekir.

Bunun için terminali açmanız ve komut satırını çalıştırmanız gerekiyor:

curl --help

Aşağıdakileri içerecek çok sayıda seçenek listesine sahip olacaksınız:

-x, --proxy [protocol://]host[:port]

CURL için tüm komutların büyük/küçük harfe duyarlı olduğunu unutmayın. Ve bu durumda, cURL proxy ayarları, proxy kurulumuyla aynı olacaktır.

Böylece, proxy'yi başlatmak için bunlardan birini çalıştırabilirsiniz. İşte bir cURL proxy örneği:

curl -x "http://user:[email protected]:1234" "http://httpbin.org/ip"

veya

curl --proxy "http://user:[email protected]:1234" "http://httpbin.org/ip"

Ayrıca dikkat etmeniz gereken şey, hem proxy URL'sinin (yetkilendirme bilgisiyle birlikte) hem de hedef URL'nin çift tırnak içine alınmış olmasıdır. Bu, URL'lerdeki özel karakterleri işlemek için iyi bir uygulamadır.

Ayrıca HTTP, varsayılan proxy protokolü olarak işlev görerek aşağıdaki iki komutun tam olarak aynı cURL proxy yapılandırması için çalışmasını sağlar:

curl --proxy "http://user:[email protected]:1234" "http://httpbin.org/ip"

curl --proxy "user:[email protected]:1234" "http://httpbin.org/ip"

 

CURL'yi SOCKS proxy'si ile kullanma

SOCKS protokolü ile bir proxy kullanmanız gerekirse, sözdizimi HTTP proxy'leriyle aynı kalacaktır:

curl -x "socks5://user:[email protected]:1234" "http://httpbin.org/ip"

SOCKS sürümünü belirtmeniz gerekiyorsa, sürüme bağlı olarak socks4://, socks4a://, socks5:// veya socks5h:// kullanabilirsiniz.

CURL ile bir socks5 proxy ayarlamanın başka bir yolu, -x yerine –socks5 argümanını kullanmak olacaktır. Bir kullanıcı adı ve şifreniz varsa, bunları –proxy-user anahtarını kullanarak belirleyebilirsiniz. İşte bir örnek:

curl --socks5 "127.0.0.1:1234" "http://httpbin.org/ip" --proxy-user user:pwd

 

.curlrc dosyası kullanma

CURL ile kullanılabilen seçeneklerin sayısını zaten fark ettiniz. En iyi yanı, size zaman kazandırmak için istediğinizi bir yapılandırma dosyasında yapılandırabilmenizdir. Dosyayı -K bağımsız değişkenini kullanarak belirtebilirsiniz, ancak cURL varsayılan konum olarak her zaman ~/.curlrc (Windows'ta _curlrc) ana dizinine bakacaktır. Halihazırda yoksa, oluşturabilir ve cURL'ye her ihtiyaç duyduğunuzda kullanabilirsiniz.
 

Bir istek için proxy'yi yok sayma veya geçersiz kılma

Proxy'niz global olarak veya .curlrc dosyasında ayarlanmış olsa bile, bu basit yöntemi kullanarak onu geçersiz kılabilecek ve başka bir proxy ayarlayabileceksiniz.
Bir cURL isteğini proxy ile geçersiz kılmanız gerekirse, yukarıda açıkladığımız gibi -x veya –proxy anahtarıyla yeni bir proxy ayarlayın:

curl --proxy "http://user:[email protected]:8090" "http://httpbin.org/ip"

Bir istek için tüm proxy'leri atlamanız gerekiyorsa, –noproxy anahtarını ve ardından “ ” kullanmalısınız. Bu, cURL'ye herhangi bir bağlantı için proxy kullanmamasını söyleyecektir. Örnek:

curl --noproxy "" "http://httpbin.org/ip"

 

cURL ile yönlendirmeleri takip etme

cURL'yi kullanmak için başka bir yararlı ipucu, yönlendirmeleri otomatik olarak takip etmediğini hatırlamaktır. Bu nedenle, örneğin, şu satırı çalıştırıyoruz:
curl http://google.com
, cURL'nin isteğini otomatik olarak www.google.com'a yönlendirmesini bekliyoruz ama bu gerçekleşmeyecek. CURL'nin yönlendirmeleri takip etmesini sağlamak için -L anahtarını kullanmamız gerekir (cURL'nin tüm argümanları büyük/küçük harfe duyarlıdır).
Dolayısıyla, yeni
curl -L http://google.com
satırımız bizi google.com'dan www.google.com'a yönlendirmelidir.