Proxy'leri test etmenize ve siteleri aynı anda kazımanıza olanak tanıyan bir araç arıyorsanız, doğru yere geldiniz. cURL, proxy'leri test etmenize ve bazı temel web kazıma işlemlerini gerçekleştirmenize olanak tanıyan bir komut satırı aracıdır. Sezgisel ve öğrenmesi kolay cURL, diğer şeylerin yanı sıra istek gönderebilir, çerez ekleyebilir, hata ayıklayabilir ve proxy'lere bağlanabilir.

Bu adım adım kılavuz size cURL'nin ne olduğunu, çeşitli komutlarının nasıl kullanılacağını, hafif web kazıma için nasıl kullanılacağını ve cURL'nin proxy sunucularla nasıl kullanılacağını öğretecektir. Kılavuz biraz karmaşık olabilir, bu nedenle okumaya başlamadan önce proxy'nin ne olduğu konusunda temel bir anlayışa sahip olduğunuzdan emin olun. Bazı web kazıma temellerini bilmek de faydalı olacaktır.

İçindekiler

cURL nedir?

“İstemci URL'si”nin kısaltması olan cURL, internet üzerinden veri aktarımını kolaylaştıran bir komut satırı aracıdır. Curl.exe komut satırını ve adı verilen bir çapraz platform kitaplığını içerir. libcurl, sunucular arasında veri alışverişini sağlayan.

İnternet protokollerini kullanan çeşitli modern işletim sistemleriyle uyumlu olan cURL, dizüstü bilgisayarlardan arabalara kadar çeşitli cihazlarda çalışır. Aşağıdakiler gibi çok sayıda internet protokolünü destekler:

  • DICT
  • DOSYA
  • FTP'de
  • FTP'ler
  • GOPHER
  • HTTP
  • HTTPS
  • IMAP
  • IMAP'ler
  • LDAP
  • LDAPS
  • MQTT
  • POP3
  • POP3'ler
  • RTSP
  • SCP
  • SFTP
  • KOBİ
  • KOBİ'ler
  • SMTP
  • SMTP'ler
  • TELNET
  • TFTP

Önemli bir topluluk, cURL için, açık kaynaklı bir Linux yazılım performans test aracı olan curl-loader dahil olmak üzere çeşitli araçlar geliştirmiştir. Curl-loader çok sayıda FTP/FTPS ve HTTP/HTTPS istemcisinin uygulama davranışlarını taklit edebilir. Tek bir kıvrılma yükleyici işlemi, her istemcinin benzersiz bir kaynak IP adresine sahip olduğu 2.500 ila 100.000 sanal istemciyi destekleyebilir.

cURL'nin Kökenleri

cURL'nin geçmişi, komut satırı araçlarının yaygın olduğu 1990'lara kadar uzanıyor. 1996 yılında İsveçli geliştirici Daniel Stenberg sohbet katılımcılarının para birimlerini dönüştürmek için bir internet aktarmalı sohbet (IRC) odası komut dosyası üzerinde çalışmaya başladı. Bu onu sunucular aracılığıyla veri aktarımı için popüler bir HTTP yöntemi olan httpget adlı bir araca katkıda bulunmaya yöneltti. Stenberg'in deneyi, "tek bir C dosyasının 300'den az satırından" oluşan httpget 0.1 ile sonuçlandı.

Aylar sonra, dosya aktarım protokolleri (FTP) ortaya çıktı ve Stenberg'in FTP desteğini kendi aracına dahil etmesine ve onu urlget 2.0 olarak yeniden adlandırmasına yol açtı. 30 Mart 1998'de FTP yükleme desteğini ekledi ve aracı bir kez daha cURL 3.0 olarak yeniden adlandırdı.

cURL büyük bir potansiyele sahip olmasına rağmen başlangıçta çok az ilgi topladı. 1998'de, 15 güncelleme ve yeniden sürümün ardından cURL, Stenberg'in sitesinden 300'den fazla indirildi. Aynı yılın sonlarında Red Hat Linux cURL'yi benimsedi, bunu 1999'da Debian ve Ağustos 2001'de Mac OS X 10.1 izledi. 2001'den bu yana cURL, Windows 10, iOS ve Android cihazlar da dahil olmak üzere internete bağlanabilen neredeyse tüm yazılımlarda varsayılan bir özellik haline geldi. Sony PS5, Nintendo Switch, Xbox ve hatta arabalar.

Neden cURL kullanmalısınız?

cURL, karmaşık işlemleri etkili bir şekilde yürütme yeteneğinden dolayı geliştiriciler arasında popüler bir seçimdir. Çok yönlülüğü, yazılabilirliği ve içerdiği kitaplık, özel HTTP ayrıştırma ve ağ kodu yazmaya gerek kalmadan diğer programlarla kusursuz entegrasyona olanak tanır.

cURL çok sayıda teklif sunar faydalar, örneğin:

  1. Uç nokta testi ve hata ayıklama yetenekleri
  2. Gönderilen ve alınan verilere ilişkin ayrıntılı bilgiler
  3. Kapsamlı hata kaydı
  4. Çok çeşitli protokoller için destek
  5. http2, Metalink, gzip, otomatik açma ve İçerik Kodlama ile uyumluluk
  6. FTP yükleme, çerezler, kullanıcı kimlik doğrulaması, proxy desteği, SSL bağlantıları ve daha fazlası gibi gelişmiş özellikler
  7. Varsayılan protokolün başarısız olması durumunda otomatik protokol değiştirme
  8. Protokole bağımlı URL sözdizimi
  9. Hız sınırlayıcı işlevsellik
  10. Parantez kullanarak URL bölümlerini veya birden çok URL'yi belirtme yeteneği (örneğin, https://google.{one, two, three}.com)
  11. Komut satırı aracılığıyla istediğiniz sayıda URL belirtme seçeneği

Ayrıca geliştiriciler cURL'nin varsayılan SSL sertifika doğrulamasını ve HTTPS desteğini takdir ediyor. cURL, HTTPS aracılığıyla bir sunucuya bağlandığında, sunucunun sertifikasını alır ve bunu CA sertifikasıyla karşılaştırarak uzak sunucunun orijinalliğini sağlar.

cURL Nasıl Kurulur

Bilgisayarınıza cURL'nin nasıl kurulacağını keşfedelim.

Mac os işletim sistemi

İşletim sistemine zaten dahil edildiğinden cURL'yi macOS'a yüklemenize gerek yoktur. Yerel olarak Terminal uygulamasında kullanabilirsiniz.

pencereler

Windows 10'dan başlayarak işletim sistemi cURL'nin bir kopyasını içerir. Ancak cURL komutu, bir takma ad görevi görür. PowerShell Çağırma-WebRequest emretmek. Sonuç olarak, Windows terminalinde cURL komutlarının yürütülmesi arka planda Invoke-Request'i başlatacaktır. Bunun yerine cURL kullanmak için 'curl'u 'curl.exe' ile değiştirin; PowerShell, Invoke-Request yerine cURL'yi çalıştıracaktır.

Örneğin, Windows makinenizde yüklü olan cURL'nin geçerli sürümünü kontrol etmek için terminale aşağıdaki komutu girin:

curl.exe --version

Çıktı şuna benzemelidir:

curl 7.83.1 (Windows) libcurl/7.83.1 Schannel 

Release-Date: 2022-05-13 

Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 

Features: AsynchDNS HSTS IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI UnixSockets

cURL ve Windows hakkında daha fazla bilgi edinmek istiyorsanız bu videoyu izlemenizi öneririz. cURL'nin ne olduğu, pencerelerde nasıl çalıştırılacağı ve cURL ile GET, POST, PUT, DELETE API isteklerinin nasıl çalıştırılacağı konusunda bilgilendirileceksiniz.

Linux

Linux kullanıcıları için cURL kurulum işlemi, özel dağıtımınıza bağlı olarak değişiklik gösterir. Ubuntu ve Fedora gibi popüler dağıtımlar cURL önceden yüklenmiş olarak gelir ve onu doğrudan terminalde kullanmanıza olanak tanır.

Varsayılan olarak cURL içermeyen dağıtımlar için, bunu dağıtımınızın paket yöneticisini kullanarak yükleyebilirsiniz. Örneğin Debian tabanlı işletim sistemlerinde cURL'yi yüklemek için aşağıdaki komutu kullanın:

sudo apt-get install curl

cURL Nasıl Kullanılır?

Cihazınızda cURL'nin kurulu olduğundan emin olun. cURL'yi kullanmadan önce sisteminizde kurulu olduğundan emin olun. Değilse, cURL web sitesinden indirin.

A. Cihazınızdaki cURL kurulumunu doğrulayın

cURL'nin sisteminizde yüklü olup olmadığını kontrol etmek için şu adımları izleyin:

  1. Windows PC veya MacBook'ta komut satırı arayüzünü veya PowerShell terminalini açın.
  2. Tip 'curl --version'
  3. Enter tuşuna basın.

Cihazınızda cURL yüklüyse şuna benzer bir mesaj alırsınız:

curl --version 

curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL 

Release-Date: 2017-11-14, security patched: 2020-11-05 

Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 

Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

VEYA

curl --version 

curl 7.31.0 (x86_64-apple-darwin12.4.0) libcurl/7.31.0 OpenSSL/0.9.8x zlib/1.2.5 

Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 

Features: IPv6 Largefile NTLM NTLM_WB SSL libz

Farklı bir mesaj görürseniz bu, cURL'nin cihazınızda yüklü olmadığını ve yüklemeniz gerektiğini gösterir.

B. Kullanılacak uygun cURL sözdizimini belirleyin

Varsayılan olarak cURL, aşağıdaki sözdizimiyle HTTP protokolünü kullanır: cURL [seçenekler] [URL]

cURL birden fazla protokolü desteklediğinden, sözdizimi her biri için biraz farklılık gösterebilir. Farklı ağ protokolleri için bazı cURL komut örnekleri:

  • Dosya Aktarım Protokolü (FTP): cURL -T “seçili dosya” “ftp://[hedef-hedef]”
  • Basit Posta Aktarım Protokolü (SMTP): cURL smtp://[smtp-sunucusu] –posta-from [gönderen] –posta-rcpt [alıcı] –yükleme dosyası [posta-içerik-dosyası]
  • Sözlük Ağ Protokolü [DICT]: cURL “dict://dict.org/d:hi”

cURL deneyiminizi optimize etmek için hangi ağ protokolleriyle çalışacağınızı bilmek önemlidir.

C. Hedefleriniz için uygun cURL sözdizimini kullanın

cURL, dosyaları indirme ve yükleme veya kullanıcı kimlik doğrulamasını yönetme gibi çeşitli görevleri gerçekleştirmenize olanak tanır. Her görev, öncelikle ilgili parametreler ve ağ protokolleri nedeniyle farklı bir cURL sözdizimi gerektirir.

Aşağıda bazı yaygın görevler ve bunlara karşılık gelen cURL komutları verilmiştir:

  1. Bir dosyayı indirmek için: curl -o [dosya adı] [URL]
  2. FTP protokolünü kullanarak bir dosya yüklemek için: curl -u [Kullanıcı adı:Şifre] -T [yerel-dosya-yolu] ftp://[URL]
  3. HTTP üstbilgilerini istemek için: curl -I [URL]

Hafif Kazıma için cURL Nasıl Kullanılır

cURL, PHP gibi bir programlama diliyle birlikte hafif web kazıma için kullanılabilir.

Kazımaya başlamadan önce hedef web sitesinin robots.txt dosyasını incelediğinizden emin olun. Mantıksız görünse bile kurallara uyun, çünkü web sitesi sahiplerinin parametre ve kısıtlama belirleme hakkı vardır. Web'de gezinirken robots.txt dosyasına bağlı kalmak standart bir uygulama olarak kabul edilir ve buna uyulmaması, yasal sorunlarla sonuçlanabilir.

Bunu akılda tutarak, hafif web kazıma için cURL kullanımına ilişkin bir kılavuzu burada bulabilirsiniz.

Kazımaya başlamak için şu adımları izleyin:

  1. PHP gibi kazıma için bir programlama dili seçin. Bu eğitimde PHP kullanılacaktır.
  2. Yeni bir PHP dosyası oluşturun.
  3. curl_init kullanarak cURL tanıtıcısını başlatın. $curl = curl_init
  4. Aktarım sayfasını dize olarak döndüren CURLOPT_RETURNTRANSFER'ı TRUE olarak ayarlayın. Bu komut, cURL'ye, varsayılan olarak sayfanın tamamını görüntülemek yerine, alınan sayfayı bir değişken olarak saklamasını söyler: curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
  5. İsteği başlatın ve bir hata kontrolü gerçekleştirin: $page = curl_exec($curl); if(curl_errno($curl)) // check for execution errors { echo 'Scraper error: ' . curl_error($curl); exit; }
  6. Bağlantıyı kapatın: curl_close($curl);

Bilginin yalnızca belirli bir bölümünü çıkarmak için id=”case_textlist” altında neyi çıkarmak istediğinizi belirtmeniz gerekir. Varsayılan olarak cURL sayfanın tamamını çıkaracaktır:

$regex = '<div id="case_textlist">(.*?)</div>/s';

if (preg_match($regex, $page, $list)) echo $list[0]; else echo "Not found";

PHP'de proxy sunucusu kullanarak bir web sitesini ayrıştırmak için cURL kitaplığını kullanabilirsiniz. Proxy sunucusu kullanarak bir web sayfasını getiren örnek bir PHP betiği aşağıda verilmiştir:

PHP kodu:

<?php
// Set the URL to fetch
$url = "http://www.example.com";

// Set the proxy server and port
$proxy = "proxy.example.com:8080";

// Create a new cURL resource
$ch = curl_init();

// Set the cURL options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Fetch the URL and output the response
$response = curl_exec($ch);
echo $response;

// Close the cURL resource
curl_close($ch);
?>

Yukarıdaki scriptte $url değişkenini ayrıştırmak istediğiniz web sitesinin URL’si ile, $proxy değişkenini ise kullanmak istediğiniz proxy sunucunun adresi ve portu ile değiştirebilirsiniz. curl_setopt() işlevi, URL ve proxy sunucusu da dahil olmak üzere cURL seçeneklerini ayarlamak ve yanıtı doğrudan çıktılamak yerine bir dize olarak döndürmek için kullanılır. Son olarak, URL'yi getirmek için curl_exec() işlevi kullanılır ve yanıtın çıktısı echo ile verilir. cURL kaynağını kapatmak için curl_close() işlevi çağrılır.

Aşağıdaki videoda, web sitesinin URL'lerini cURL ile yükleyip bunları normal ifadelerle eşleştirerek proxy kazıyıcının nasıl oluşturulacağını öğreneceksiniz.

Gelişmiş Kazıma için cURL Nasıl Kullanılır

İşte web kazıma oturumlarınızı optimize etmenize yardımcı olabilecek bazı iyileştirilmiş cUrl yapılandırmaları.

Alt başlık: Bir Kullanıcı Aracısının Dahil Edilmesi

Bağlantıları indirmek veya kazımak için cURL kullanıldığında, kendisini web sitesine cUrl olarak tanımlar. Bazı durumlarda, belirli web siteleri cUrl'ü bot olarak tanıyabileceği ve engelleyebileceği için bunu istemeyebilirsiniz.

Bunu aşmak için -A veya –user-agent seçeneğini kullanarak bir kullanıcı aracısı ekleyin. Bu örnekte, Windows 10 kullanıcı aracısında Firefox 65 kullandık:

curl -x https://fineproxy.de/ -v -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"

Alternatif olarak -H seçeneğini kullanarak kullanıcı aracısını başlığın içine gönderebilirsiniz:

curl -x https://fineproxy.de/ -v -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"

Alt başlık: Başlıkları Yapılandırma

Bir web sitesini kazırken bot olarak algılanmaktan kaçınmak önemlidir. Artık birçok web sitesi, sunucuyu aşırı yük altına alabilecekleri ve insan kullanıcılar için hizmetleri olumsuz etkileyebileceği için botların verilerini çıkarmasını engelliyor.

Bunu başarmak için cURL ile uygun başlıkları göndermeniz gerekir.

Öncelikle, genellikle hedef web sitesine gönderdiğiniz başlıkları sağ tıklayıp "İncele"yi seçerek belirleyin. Daha sonra “Ağ” sekmesine gidin. Hedef siteyi yenilediğinizde sitenin yüklenmesi sırasında yapılan istekleri göreceksiniz. İsteği daha yakından incelemek için isteğe sağ tıklayıp cUrl komut satırı olarak da kopyalayabilirsiniz.

Daha sonra cUrl'deki başlıkları -H veya –header seçeneğini kullanarak yapılandırın. Örneğin, hedef siteye "Kabul Et" başlığını şu şekilde gönderebilirsiniz:

curl -x https://fineproxy.de/ -v -H "Accept: text/html"

cURL Proxy Sunucularıyla Nasıl Kullanılır?

cURL'yi bir proxy ile kullanmak, site yasaklarını ve engellemelerini önlemek için bir proxy'nin gerekli olduğu web kazıma gibi çeşitli kullanım durumlarına olanak tanır. Bu kılavuzda cURL kullanarak proxy sunucusu aracılığıyla nasıl veri göndereceğinizi öğreneceksiniz.

cURL'yi Proxy ile kullanmak için şu adımları izleyin:

1. Proxy Sunucusunu Kurun

Öncelikle proxy sağlayıcınız tarafından sağlanan talimatlara göre proxy'nizi kurun. Proxy'nizin doğru şekilde kurulduğunu doğrulamak için terminalinize aşağıdaki komutu girin:

curl https://httpbin.org/ip 

Bu komut cihazınızın IP adresini döndürür. Değerler cihazınızın orijinal IP adresiyle eşleşiyorsa proxy sunucunuz doğru şekilde kurulmamıştır. Eşleşmiyorlarsa proxy sunucunuz doğru yapılandırılmıştır.

2. Proxy'nizi cURL Komutlarıyla Çalışacak Şekilde Yapılandırın

Proxy'nizi cURL ile kullanılacak şekilde yapılandırmanın üç yolu vardır:

A. Yapılandırma dosyasının (.curlrc) kullanılması

Yapılandırma dosyası, cURL komutlarını çalıştırırken kolay erişim için sistem dizininizde .curlrc dosya biçiminde kaydedilen, istediğiniz ayarları içeren bir metin dosyasıdır.

Proxy yapılandırma dosyası şu biçimdeki verileri içerir:

proxy = "[protocol://][host][:port]"

Dosyaya birden fazla yapılandırma ayarını kaydedebilir ve gerektiğinde bunları etkinleştirebilirsiniz. cURL komutlarını çalıştırmadan önce dosyayı açın; yürüttüğünüz herhangi bir cURL komutu, yapılandırma dosyasındaki proxy ayarlarını kullanacaktır.

Bir yapılandırma dosyası oluşturmak, cURL'yi bir proxy ile tekrar tekrar kullanan ve büyük miktarda veri çıkaranlar için en iyi yöntemdir. Her seferinde cURL için proxy'yi yapılandırma ihtiyacını ortadan kaldırarak zamandan tasarruf sağlar.

B. Komut satırı bağımsız değişkenlerini kullanma

Bu yöntem, yalnızca doğrudan cURL proxy sözdizimini gerektirdiğinden, cURL komutlarıyla tek seferlik proxy kullanımı için uygundur. Sözdizimi aşağıdaki gibidir:

curl -x "[protocol://][host][:port]" [URL] [options]

cURL'nin varsayılan protokolü HTTP olduğundan, özellikle farklı bir ağ protokolü kullanıyorsanız, protokolü ve proxy sunucusu ayrıntılarını belirtmeniz gerekir.

C. Ortam değişkenlerini kullanma

Üçüncü yöntem, sistem düzeyinde çalışan işlemleri etkileyen, ortam değişkenleri olarak bilinen http_proxy ve https_proxy değişkenlerinin ayarlanmasını içerir. Bu komutlar işletim sisteminin bir parçasıdır ve diğer parametreleri geçersiz kılabilir.

Ortam değişkenleri aracılığıyla cURL proxy ayarlarının sözdizimi aşağıdaki gibidir:

export http_proxy="[protocol://][host][:port]" 

export https_proxy="[protocol://][host][:port]"

Bu komutları çalıştırdıktan sonra çalıştırdığınız herhangi bir cURL komutu otomatik olarak proxy sunucusu üzerinden geçecektir. Şimdi bu yöntem hakkında biraz daha konuşalım.

cURL'yi Ortam Değişkenleri Aracılığıyla Proxy ile Kullanma

Ortam değişkeni, bir veya daha fazla yazılım programı tarafından kullanılabilen, düzenlenebilir bir değeri bellekte saklayan bir nesneye benzer. Bu durumda proxy bilgilerimizi içeren http_proxy veya https_proxy adlı bir değişkeni cURL'ye iletebiliriz ve komutu her çalıştırdığımızda belirtmemize gerek kalmayacaktır. Bunu şu komutu çalıştırarak gerçekleştirebilirsiniz:

$ export http_proxy="http://fineproxy.proxy_type=datacenter.device=desktop:<YOUR-API-KEY>@proxy.fineproxy.de:80"

cURL'nin anlaşılması için değişkeninize http_proxy veya https_proxy adını vermeniz gerektiğini lütfen unutmayın. Bu kadar. Artık komutu her çalıştırdığınızda kimlik bilgilerinizi girmenize gerek yok ve artık cURL'yi şu kadar basit bir şekilde çalıştırabilirsiniz:

$ curl http://httpbin.org/get

Bu bize aşağıdaki çıktıyı sağlayacaktır:

{ "args": {}, "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8", "Accept-Encoding": "gzip, deflate, br", "Host": "httpbin.org", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", "X-Amzn-Trace-Id": "Root=1-633bf912-66ace1104304ddaf5ea8ac65" }, "origin": "132.255.134.104", "url": "http://httpbin.org/get" }

Gördüğünüz gibi, IP adresi proxy'nin adresidir ve proxy'nizi kurarken mükemmel bir iş çıkardığınızı doğrular. Bu noktada cURL bizim için halledeceği için proxy bilgisini belirtmeden herhangi bir cURL komutunu çalıştırabiliriz.

7 Önemli Püf Noktası ve İpucu

Bu bölümde, cUrl ile proxy'leri kullanmak için özel ihtiyaçlarınıza göre uyarlanmış bazı ilgi çekici püf noktaları ve paha biçilmez ipuçları sunacağız.

1. İpucu: Proxy'leri cUrl'ye Özel Olarak Ayarlama

Proxy'leri yalnızca cUrl tabanlı görevler için atamak için aşağıdaki komut dizisini kullanın:

  1. cd ~ $ nano .curlrc
  2. Bu satırı dosyaya ekleyin:
proxy=http://user:pwd@IP_address_or_FQDN:port

Örnek:

proxy=http://testuser:[email protected]:3128
  1. cUrl'yi her zamanki gibi çalıştırın:
$ curl "https://www.reddit.com"

2. İpucu: Proxy'leri Etkinleştirme ve Devre Dışı Bırakma

Bunu gerçekleştirmek için editörünüzdeki .bashrc dosyanızda bir takma ad oluşturun:

$ cd ~
alias proxyon="export http_proxy='http://user:pwd@Proxy_IP_or_FQDN:Port';export https_proxy='http://user:pwd@Proxy_IP_or_FQDN:Port'"
alias proxyoff="unset http_proxy;unset https_proxy"

Örnek:

alias proxyon="export http_proxy='http://testuser:[email protected]:3128';export https_proxy='http://testuser:[email protected]:3128'"

Terminalde alias komutunu çalıştırarak takma ad kurulumunu hızlı bir şekilde kontrol edin. .bashrc dosyasını kaydedin ve aşağıdakileri kullanarak kabuğu güncelleyin:

$ ~/.bashrc

3. İpucu: SSL Sertifikası Hatalarını Atlamak

cUrl, SSL sertifikası hatalarıyla karşılaştığında bu istekleri engeller. Özellikle tek seferlik durumlarda hata ayıklama amacıyla SSL sertifikası hatalarını 'atlamak' için cUrl komut satırına -k veya –insecure ekleyin:

curl -x "[protocol://][host][:port]" -k [URL]

İpucu 4: Talep Hakkında Daha Fazla Bilgi Edinme

İstekleriniz beklendiği gibi çalışmazsa istek yolunu, başlıkları ve çeşitli hataları incelemek isteyebilirsiniz. İsteği araştırmak için cUrl'den sonra isteğe -v (–verbose) ekleyin; bu, tüm istek başlıklarının ve deneyimlenen bağlantıların çıktısını verecektir.

5. İpucu: Tek Bir İstek İçin Proxy'leri Yoksaymak

Belirli bir istek için proxy'yi geçersiz kılmak için aşağıdaki komut satırını kullanın:

curl --proxy "http://user:pwd@Proxy_FQDN_or_IPAddress" "https://reddit.com"

Veya kullan:

$ curl --noproxy "*" https://www.reddit.com

Proxy'leri tamamen atlamak için. -v seçeneği ile herhangi bir proxy kullanmadan doğrudan Reddit'e giden bağlantının gösterilmesini sağlar.

İpucu 6: SOCK Proxy'lerini Kullanmak

Herhangi bir türde SOCK proxy (4/4a/5/5h) kullanmak istiyorsanız, ilgili bölümü uygun SOCKS türüyle değiştirmeniz dışında kod yapısı öncekiyle aynı kalır:

curl -x "socks5://user:pwd@Proxy_IP_or_FQDN:Port" https://www.reddit.com

Örnek:

$ curl -x "socks5://testuser:[email protected]:3128" https://www.reddit.com

Profesyonel İpucu 7: Herhangi bir protokol belirtilmemişse, cURL varsayılan olarak SOCKS4'e ayarlanır!

Curl ve Wget

Wget, HTTP, HTTPS ve FTP gibi standart ağ protokollerini kullanarak dosya aktarımına olanak tanıyan çok sayıda özelliğe sahip bir komut satırı aracıdır. Adı, WWW'nin ilk harfi ile 'get'in birleşiminden oluşuyor; bu, Wget'in öncelikle web veri alışverişi için yaratıldığını kabul ediyor.

Wget komutlarının standart sözdizimi şöyledir:

Wget [option] [URL]

Wget komutları cURL komutlarıyla karşılaştırılabilir ve benzer işlevleri farklı şekillerde gerçekleştirirler.

cURL ve Wget arasındaki 5 benzerlik

  • Her ikisi de FTP ve HTTP veya HTTPS'den dosya indirebilen ve HTTP POST isteklerini destekleyebilen komut satırı yardımcı programlarıdır.
  • Her ikisi de açık kaynaklı yazılımdır.
  • Hem cURL hem de Wget aynı yıl, 1996'da tanıtıldı.
  • Her ikisinin de benzer lisansları var: GPLv3 lisansı.
  • Her ikisi de çeşitli işletim sistemlerinde çalışan hafif yazılım paketleridir.

cURL ve Wget Arasındaki 10 Fark

cURL ve Wget arasındaki temel fark, bu yardımcı programların istekleri yürütme biçiminde ve hedeflerine ulaşmak için kullandıkları kaynaklarda yatmaktadır. Aşağıdaki tabloda bu farklılıklar vurgulanmaktadır:

kıvrılma Wget
1. Kütüphane LibcURL kütüphanesi tarafından desteklenir Kütüphaneye gerek yok
2. Operasyonlar Verileri tek bir işlemle iletir, yinelemeli indirme gerekmez Özyinelemeli indirmeyi destekler
3. Protokoller Bir dizi ağ protokolünü destekler Yalnızca HTTP(S) ve FTP'yi destekler
4. İndir Uzak bir URL'yi yerel bir dosyaya indirmek için -o veya -O gerekir Uzak bir URL'yi indirmek için -o veya -O'ya gerek yoktur
5. Yüklemeler Her iki yönde de veri yükleyebilir ve aktarabilir Yalnızca basit HTTP POST isteklerini destekler
6. Vekil HTTPS, SOCKS 4 ve SOCKS 5 proxy türlerini destekler HTTP proxy'yi destekler ancak SOCKS proxy türlerini desteklemez
7. Yetkilendirme HTTP proxy'leri için ek kimlik doğrulama tekniklerini destekler Yalnızca HTTP proxy'leri için temel kimlik doğrulama işlemlerini destekler
8. Taşınabilirlik Daha taşınabilir ve Windows ve macOS'ta önceden yüklenmiş olarak gelir Daha az taşınabilir ve Windows ve macOS'a önceden yüklenmemiştir
9. Özellikler Her özelliğin doğrudan belirtilmesini gerektirir Çerezler ve zaman damgaları gibi özellikler varsayılan olarak etkindir
10. Gereksinimler Gnulib paketi veya C99 derleyicisi gerektirmez Gnulib ve C99 derleyicisi gerektirir cURL veya Wget Ne Zaman Kullanılmalı

Çoğu durumda cURL en iyi seçimdir ancak Wget'in daha uygun olduğu durumlar da vardır. Bu komut satırı yardımcı programlarından hangisinin görevlerinizi daha hızlı ve daha etkili bir şekilde tamamlamanıza yardımcı olacağını belirlemelisiniz. Örneğin:

  • Wget, titreyen bağlantılar üzerinden indirme yeniden denemelerini cURL'den daha iyi yönetir.
  • Wget, cURL'de bulunmayan kesin özyinelemeli indirmeler ve bant genişliği kontrolü gibi indirme yetenekleri sunar.

Bu nedenle bu gibi durumlarda Wget komutlarını kullanmak en doğrusudur. Ayrıca HTTP/HTTPS ve FTP dışında bir ağ protokolü kullanıldığında cURL daha iyi bir seçenektir. cURL veya Wget'i kullanıp kullanmayacağınıza dair seçiminiz her zaman gerçekleştirdiğiniz görevlerin özelliklerine bağlı olacaktır.

Çözüm

cURL komutları, bir ağ üzerinden büyük miktarda veri aktarmaya ihtiyaç duyan herkes için güçlü ve çok yönlü araçlardır. cURL'leri proxy'lerle kullanmak, hemen hemen her görevi gerçekleştirmenize olanak tanıyan, arzu edilen bir yükseltmedir. Bu kombinasyon, cURL komutlarının çok yönlülüğünü kaybetmeden veri gizliliğini ve güvenliğini sağlar. Wget çok geniş olmasına rağmen, kullanıcı dostu arayüzü ve güçlü yetenekleri nedeniyle cURL tercih edilir.

Şu ana kadar konuştuklarımıza dayanarak cURL'nin harika etkilerini denemeyi düşünüyor olabilirsiniz. Henüz düşünmediyseniz, düşünmelisiniz. Kıvrık kalın (amaçlanan).

Alexander Schmidt

Alexander Schmidt, daha çok değil, daha akıllıca çalışmanın gerektiğine inanan bir yazılım mühendisidir. Analiz ve araştırma için otomasyon ve web verilerinin çıkarılmasıyla ilgili 12 yıllık deneyimiyle, başkalarının proxy çözümlerinin değerini ve performansını en üst düzeye çıkarmasına yardımcı olmak için işletmelere eğlenceli ve okunması kolay bir şekilde sunulan pratik ipuçları ve değerli bilgilerle güç veriyor. Kurulumunda değişiklik yapmadığı veya KOBİ'lere danışmanlık yapmadığı zamanlarda, Alexander'ı en son teknoloji haberlerini ve yapay zeka gelişmelerini araştırırken bulabilirsiniz.

Proxy Seçin ve Satın Alın

Fiyatları anında görüntülemek için tür, konum ve miktar seçin.

Proxy Seçin ve Satın Alın