İçeriğe atla

cURL

cURL
Bir curl -O örnek kullanımı
Orijinal yazar(lar)Daniel Stenberg[1]
Geliştirici(ler)cURL projesinin katkıcıları
İlk yayınlanma1997 (27 yıl önce) (1997)[2]
Güncel sürüm8.10.1[3] Bunu Vikiveri'de düzenleyin / 18 Eylül 2024
Geliştirme durumuAktif
Programlama diliC
PlatformÇapraz platform
TürFTP istemcisi / HTTP istemcisi
LisansÖzgür Yazılım: MIT/X derivate license
Resmî sitesicurl.se Bunu Vikiveri'de düzenleyin
Kod deposu Bunu Vikiveri'de düzenleyin

cURL, çeşitli protokoller kullanarak, veri aktarımı sağlamak için kütüphane ve komut satırı aracı sunan bir bilgisayar yazılımı projesidir. cURL projesi, libcurl ve cURL olarak ikiye ayrılır. İlk olarak 1997 yılında yayınlanmıştır. İsminde bulunan "c" İngilizcedeki client (istemci) kelimesinden gelmektedir.[4]

libcurl

libcurl, FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP ve RTSP protokollerini destekleyen, istemci taraflı ücretsiz bir URL transfer kütüphanesidir.

libcurl kütüphanesi taşınabilirdir. Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HP-UX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Symbian, AmigaOS, OS/2, BeOS, OS X, iOS, Android, Ultrix, QNX Neutrino, BlackBerry Tablet OS, BlackBerry 10,[5] OpenVMS, RISC OS, NetWare ve DOS gibi birçok platformda çalışabilir.

libcurl kütüphanesi ücretsizdir ve IPv6 uyumludur. C/C++, Java, PHP ve Python dahil, 40'tan fazla programlama dilini destekler.

cURL

URL sözdizimini kullanarak dosya almak ya da göndermek için bir komut satırı aracıdır.

cURL, libcurl kütüphanesini kullanmaktadır. HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP ve RTSP gibi yaygın internet protokollerini destekler.

cURL, HTTPS gibi güvenli protokoller belirtildiğinde varsayılan olarak HTTPS ve SSL sertifika doğrulaması yapar. cURL uzak bir sunucuya HTTPS ile bağlandığında, ilk olarak uzak sunucunun sertifikasını elde eder ve geçerli olup olmadığını doğrular.

cURL, eğer uzak sunucu kendinden imzalı (self-signed) bir sertifikaya sahipse ya da sunucu sertifikası geçerli bir CA (certificate authority) tarafından imzalanmamışsa, hata mesajı dönecektir. Bu yüzden sertifika doğrulamasını es geçmek için -k ya da --insecure seçenekleri kullanılabilir. Alternatif olarak, uzak sunucu güvenilirse, uzak sunucunun sertifikası, CA sertifikalarının depolandığı dosyaya eklenebilir.

cURL komut satırı kullanım örnekleri

example.com anasayfasını getirmek için:

curl www.example.com

cURL varsayılan olarak çıktıyı, sistemin standart çıktısı (stdout) olarak verir. Bu yüzden yukarıdaki komut, www.example.com'un kaynak kodunu terminal penceresinde gösterir.

-o parametresi ile çıktı, bir dosyaya yazılabilir:

curl -o example.html www.example.com

Burada, www.example.com'un kaynak kodu, example.html adındaki dosyada depolanacaktır. Çıktı alındığı sırada bir ilerleme çubuğunda çıktının ne kadarının indirildiği gösterilecektir.

-O parametresi ile, indirilen dosya ile aynı adla bir dosya oluşturulur ve çıktı o dosyaya yazılır:

curl -O www.example.com/example.html

Eğer sunucu, bu dosyanın (example.html) başka bir adrese taşındığı yanıtını verirse (üstveride Location: olarak belirtilir), -L parametresi kullanılır:

curl -OL www.example.com/example.html

cURL, uzak sunucuya HTTPS protokolü ile bağlanabilir (eğer CA sertifika dosyası bulunmuyorsa hata mesajı döner):

curl https://securesite.com/login.html

Bir CA sertifikası dosyası belirtmek için:

curl --cacert c:\temp\cacerts.crt https://securesite.com/login.html

Sertifika doğrulamasını es geçmek için:

curl --insecure https://self-signed-cert.com/login.html

cURL, proxy desteği, kullanıcı kimlik doğrulaması, FTP yüklemesi, HTTP post, SSL bağlantıları, çerezler, dosya transferi, Metalink ve çeşitli diğer özellikler sunmaktadır.

Ayrıca bakınız

Kaynakça

  1. ^ Stenberg, Daniel (20 Mart 2015). "curl, 17 years old today". daniel.haxx.se. 6 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Mart 2015. 
  2. ^ "cURL History Page". 23 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Haziran 2016. 
  3. ^ "curl 8.10.1" (İngilizce). 18 Eylül 2024. Erişim tarihi: 18 Eylül 2024. 
  4. ^ ""Origin of the name"". 27 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2018. 
  5. ^ "Open Source Components for the Native SDK for BlackBerry Tablet OS". 2 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Haziran 2016. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

SMTP, bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür. Farklı işletim sistemleri için geliştirilmiş e-posta protokolleri bulunmaktadır. Bu e-posta protokollerinin SMTP'ye geçit yolu (gateway) vardır. SMTP, Aktarım Temsilcisi ve Kullanıcı Temsilcisi yazılımları arasındaki iletişimi sağlar. TCP'nin üst katmanında çalışır.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

HTTPS bir bilgisayar ağı üzerinden güvenli iletişim için internet üzerinde yaygın olarak kullanılan bir HTTP uzantısıdır. HTTPS'te, iletişim protokolü Taşıma Katmanı Güvenliği (TLS) veya öncesinde, onun öncülü/selefi olan Güvenli Soket Katmanı (SSL) ile şifrelenir. Bu nedenle protokol sık sık TLS üzerinden HTTP veya SSL üzerinden HTTP olarak da adlandırılır.

Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir. Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin erken uygulanmasına dayanarak geliştirildi.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

<span class="mw-page-title-main">Taşınabilir yazılımlar listesi</span>

Taşınabilir uygulama, bilgisayarın fiziksel depolama ortamına kopyalanmadan veya kurulmadan, CD-ROM, USB flash disk gibi çıkarılabilir bir depolama ortamında çalışabilen yazılımlardır. Taşınabilir uygulama kavramı yazılımın taşınabilirliği ile karıştırılmamalıdır.

Real Time Streaming Protocol (RTSP), eğlence ve iletişim sistemlerinde medya sunucularındaki verilerin akışını kontrol etmek için tasarlanan bir ağ denetim protokolüdür. Bu protokol bitiş noktaları arasındaki medya bağlantılarının kurulması ve kontrol edilmesinde kullanılır. Medya sunucularının sorunu VCR'lerdeki gibi müşterilerin sunucudan alınan medya dosyalarını çalışma, durdurma gibi kısacası gerçek zamanlı kontrolü kolaylaştırmak.

UUCP, Unix-to-Unix Copy 'nın kısaltmasıdır. Bu kavram, genellikle uzaktan komut çalıştırmaya ve bilgisayarlar arasında dosya, e-posta ve ağ haberleri taşınmasına imkân sağlayan bilgisayar programı ve protokoller paketi olarak adlandırılır.

<span class="mw-page-title-main">Aradaki adam saldırısı</span>

Man-in-the-middle saldırısı, saldırganın birbiri ile doğrudan iletişim kuran iki taraf arasındaki iletişimi gizlice ilettiği veya değiştirdiği saldırı türüdür. İletişim ağı üzerinde veri paketleri serbestçe dolaşır. Özellikle broadcast olarak salınan paketler, aynı ağa bağlı tüm cihazlar tarafından görülebilir. İlkesel olarak hedefinde kendi IP'si olmayan bir paketi alan makinelerin, bu paketlerle ilgili herhangi bir işlem yapmamaları gerekir. Ancak istenirse bu paketlere müdahale edebilir ya da içeriğini öğrenebilirler. Aradaki adam saldırısı ağ üzerindeki paketleri yakalayarak manipüle etmek olarak özetlenebilir.

DNS spoofing diğer adıyla DNS önbellek zehirlenmesi, Alan Adı Sistemi verisini bozarak, DNS çözümleme önbelleğine bozuk verinin yerleştirildiği bir bilgisayar güvenliği saldırısıdır. Ad sunucusunun yanlış sonuç dönmesini sağlar, örneğin IP adresi. Böylece saldırgan, trafiği kendi bilgisayarına yönlendirebilir.

Sunucu Adı Göstergesi (SNI) bir TLS protokolü uzantısı. Güvenli SSL bağlantısı oluşturulurken el sıkışma (handshake) sürecinin başlagıcında, istek içerisinde geçen sunucu adının (hostname) dijital sertifikasını doğrular. SNI teknolojisi aynı IP adresi ve TCP portu üzerinden birden fazla güvenli web sitesi için doğrulama işlemini gerçekleştirdiğinden, daha önceden SSL kullanmak için gerekli olan sabit IP zorunluluğunu ortadan kaldırır.

<span class="mw-page-title-main">Wget</span>

GNU Wget, internet ağı üzerinden dosyalar indirmeye yarayan, komut satırı üzerinden kullanılan bir indirme yöneticisi. GNU Tasarısının parçasıdır.

<span class="mw-page-title-main">DNF</span>

DNF ya da Dandified Yum; RPM tabanlı dağıtımlar için paket yöneticisidir. Yum'un yeni neslidir. Fedora 18 ile birlikte tanıtılmıştır ve Fedora'nın 22. sürümünden beri öntanımlı paket yöneticisidir. Yum'daki düşük verim, yüksek bellek kullanımı, bağımlılıkları çözümlemedeki yavaşlık gibi sorunları gidermek için yaratılmıştır. libsolv adlı harici bağımlılık çözümleyiciyi kullanır.

Dock, macOS işletim sisteminin grafiksel kullanıcı arayüzünün belirgin bir özelliğidir. Uygulamaları başlatmak ve çalışan uygulamalar arasında geçiş yapmak için kullanılır. Dock ayrıca macOS'ten önceki NextStep ve OpenStep işletim sistemlerinin öne çıkan bir özelliğidir.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

BSD / OS, Berkeley Software Design, Inc. tarafından geliştirilen BSD işletim sisteminin durdurulan tescilli bir sürümüdür. (BSDi).

OpenVPN, yönlendirilmiş veya köprülenmiş konfigürasyonlarda ve uzaktan erişim tesislerinde güvenli noktadan noktaya veya siteden siteye bağlantılar oluşturmak için teknikler uygulayan bir sanal özel ağ (VPN) sistemidir. Hem istemci hem de sunucu uygulaması olarak mevcuttur.

<span class="mw-page-title-main">ELinks</span>

ELinks, Unix benzeri işletim sistemleri için tasarlanmış ücretsiz bir metin tabanlı web tarayıcısıdır.