Özet
curl [seçenekler / URL'ler]
Açıklama
curl, URL'leri kullanarak bir sunucudan veri aktarmak veya bir sunucuya veri göndermek için kullanılan bir araçtır. Şu protokolleri destekler: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS ve WSS.
curl, aktarımla ilgili tüm özellikler için gücünü libcurl kütüphanesinden alır. Ayrıntılar için libcurl(3) kılavuz sayfasına bakın.
URL
URL sözdizimi protokole bağlıdır. RFC 3986 belgesinde ayrıntılı bir açıklama bulabilirsiniz.
Başında protokol:// şeması olmayan bir URL sağlarsanız, curl hangi protokolü istediğinizi tahmin etmeye çalışır. Varsayılan olarak HTTP'yi kullanır ancak sıkça kullanılan ana bilgisayar adı ön eklerine dayanarak diğerlerini varsayar. Örneğin, "ftp." ile başlayan ana bilgisayar adları için curl, FTP istediğinizi varsayar.
Komut satırında istediğiniz sayıda URL belirtebilirsiniz. -Z, --parallel seçeneğini kullanmadığınız sürece, bu URL'ler belirtilen sırayla ardışık olarak alınır. Komut satırı seçeneklerini ve URL'leri komut satırında karışık olarak ve herhangi bir sırada belirtebilirsiniz.
curl, birden fazla aktarım gerçekleştirirken bağlantıları yeniden kullanmaya çalışır; böylece aynı sunucudan birçok dosyayı alırken birden fazla bağlantı kurulmasını ve el sıkışması kurulumunu engeller. Bu, hızı artırır. Bağlantının yeniden kullanılması yalnızca tek bir komut satırı çağrısında belirtilen URL'ler için yapılabilir ve ayrı curl çalıştırmaları arasında gerçekleştirilemez.
URL'de kaçışlı bir yüzde işaretiyle birlikte bir IPv6 bölge kimliği sağlayın. Şunun gibi:
"http://[fe80::3%25eth0]/"
Komut satırında sağlanan ve bir komut satırı seçeneği veya onun argümanı olmayan her şeyi curl bir URL olarak varsayar ve bu şekilde işler.
Dosya Seçimi (Globbing)
Süslü parantez içine listeler veya köşeli parantez içine aralıklar yazarak birden fazla URL veya URL parçası belirtebilirsiniz. Buna "dosya seçimi" (globbing) adını veriyoruz.
Şunun gibi üç farklı adı içeren bir liste sağlayın:
"http://site.{one,two,three}.com"
Köşeli parantez [] kullanarak alfanumerik serilerin dizilerini yapın:
"ftp://ftp.example.com/file[1-100].txt"
Başında sıfırlar olan seriler için:
"ftp://ftp.example.com/file[001-100].txt"
Alfabedeki harflerle seriler için:
"ftp://ftp.example.com/file[a-z].txt"
İç içe geçmiş diziler desteklenmez, ancak yan yana birkaç tane kullanabilirsiniz:
"http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html"
Her N. sayıyı veya harfi almak için aralıklar için bir adım sayacı belirtebilirsiniz:
"http://example.com/file[1-100:10].txt"
"http://example.com/file[a-z:2].txt"
Komut isteminden çağrıldığında [] veya {} dizilerini kullanırken, kabuğun URL ile etkileşime girmesini önlemek için muhtemelen tüm URL'yi çift tırnak içine almanız gerekir. Bu durum, örneğin '&', '?' ve '*' gibi özel işlem gören diğer karakterler için de geçerlidir.
-g, --globoff seçeneğiyle dosya seçimini (globbing) kapatın.
Değişkenler
curl, komut satırı değişkenlerini destekler (8.3.0 sürümünde eklendi). Değişkenleri --variable isim=icerik veya --variable isim@dosya (burada "dosya", tek bir tire işareti (-) olarak ayarlanırsa standart girdi olabilir) ile ayarlayın.
Değişken içerikleri, seçenek adının önüne "--expand-" ön eki getirilerek, tırnak işaretleri olmadan "{{isim}}" kullanılarak seçenek parametrelerinde genişletilebilir. Bu, "isim" değişkeninin içeriğinin eklenmesini sağlar veya isim bir değişken olarak mevcut değilse boşluk bırakır. String içinde tam olarak "{{" karakterini eklemek için önüne ters eğik çizgi koyarak "{{" şeklinde kullanın.
Çevre değişkenlerini önce içe aktararak bunlara erişebilir ve genişletebilirsiniz. Çevre değişkeninin ayarlanmış olmasını zorunlu kılmayı seçebilir veya ayarlanmamış olması durumunda varsayılan bir değer sağlayabilirsiniz. Sade --variable %isim kullanımı, 'isim' adlı değişkeni içe aktarır ancak bu çevre değişkeni önceden ayarlanmamışsa bir hatayla çıkış yapar. Ayarlanmamışsa varsayılan bir değer sağlamak için --variable %isim=icerik veya --variable %isim@icerik kullanın.
Örnek. USER çevre değişkenini URL'ye aktarın, USER ayarlanmamışsa hata verin:
--variable '%USER' --expand-url = "https://example.com/api/{{USER}}/method"
Değişkenleri genişletirken curl, değişken içeriklerinin kullanımını daha kolay hale getirebilecek bir dizi işlevi destekler. trim ile başındaki ve sonundaki beyaz boşlukları kırpabilir, json ile içeriği JSON tırnak içine alınmış bir dize olarak çıktılayabilir, url ile dizeyi URL kodlayabilir veya b64 ile base64 kodlayabilir. Değişken genişletmesine bir işlev uygulamak için, değişkenin sağ tarafına iki nokta üst üste ile ayrılmış olarak bunları ekleyin. Genişletildiğinde kodlanmayan null baytlar barındıran değişken içeriği hataya neden olur.
Örnek: $HOME/.secret adlı bir dosyanın içeriğini "fix" adlı bir değişkene alın. İçeriğin kırpıldığından ve yüzde kodlamalı olarak POST verisi olarak gönderildiğinden emin olun:
--variable %HOME --expand-variable fix@{{HOME}}/.secret --expand-data "{{fix:trim:url}}" https://example.com/
Komut satırı değişkenleri ve genişletmeleri 8.3.0 sürümünde eklenmiştir.
Çıktı
Aksi söylenmedikçe, curl alınan veriyi standart çıktıya yazar. Bunun yerine verilerin -o, --output veya -O, --remote-name seçenekleri kullanılarak yerel bir dosyaya kaydedilmesi talimatı verilebilir. curl'e komut satırında aktarılacak birden fazla URL verilirse, bunların nereye kaydedileceğini belirtmek için benzer şekilde birden fazla seçeneğe ihtiyaç duyulur.
curl, aldığı veya çıktı olarak yazdığı içeriği ayrıştırmaz veya başka bir şekilde "anlamaz". Özel komut satırı seçenekleriyle açıkça istenmediği sürece hiçbir kodlama veya kod çözme yapmaz.
Protokoller
curl çok sayıda protokolü, yani URL terimleriyle ifade edersek şemaları destekler. Özel kurulumunuz bunların hepsini desteklemeyebilir.
DICT Çevrimiçi sözlükleri kullanarak kelimeleri aramanıza olanak tanır.
FILE Yerel dosyaları okur veya yazar. curl, file:// URL'lerine uzaktan erişimi desteklemez, ancak Microsoft Windows üzerinde çalışırken yerel UNC yaklaşımını kullanmak işe yarar.
FTP(S) curl, Dosya Aktarım Protokolünü birçok ince ayar ve araçla destekler. TLS kullanarak veya kullanmayarak.
GOPHER(S) Dosyaları alır.
HTTP(S) curl, HTTP'yi çok sayıda seçenek ve varyasyonla destekler. Derleme seçeneklerine ve doğru komut satırı seçeneklerine bağlı olarak HTTP sürüm 0.9, 1.0, 1.1, 2 ve 3 dillerini konuşabilir.
IMAP(S) E-posta okuma protokolünü kullanarak, curl e-postaları sizin için indirebilir. TLS kullanarak veya kullanmayarak.
LDAP(S) curl, TLS kullanarak veya kullanmayarak dizin aramaları yapabilir.
MQTT curl, MQTT sürüm 3'ü destekler. MQTT üzerinden indirmek, bir konuya "abone olmak" anlamına gelirken, yüklemek/göndermek ise bir konuda "yayınlamak" anlamına gelir. TLS üzerinden MQTT henüz desteklenmemektedir.
POP3(S) Bir POP3 sunucusundan indirmek, bir e-posta almak anlamına gelir. TLS kullanarak veya kullanmayarak.
RTMP(S) Gerçek Zamanlı Mesajlaşma Protokolü öncelikle akış ortamı sunmak için kullanılır ve curl bunu indirebilir.
RTSP curl, RTSP 1.0 indirmelerini destekler.
SCP curl, SSH sürüm 2 scp aktarımlarını destekler.
SFTP curl, SSH sürüm 2 üzerinden gerçekleştirilen SFTP (taslak 5) aktarımlarını destekler.
SMB(S) curl, yükleme ve indirme için SMB sürüm 1'i destekler.
SMTP(S) SMTP sunucusuna içerik yüklemek, bir e-posta göndermek anlamına gelir. TLS kullanarak veya kullanmayarak.
TELNET curl'e bir telnet URL'sini almasını söylemek, standart girdide okuduğunu gönderdiği ve sunucunun kendisine gönderdiğini çıktıladığı etkileşimli bir oturum başlatır.
TFTP curl, TFTP indirmelerini ve yüklemelerini yapabilir.
İlerleme Ölçer (Progress Meter)
curl normalde işlemler sırasında aktarılan veri miktarını, aktarım hızlarını ve tahmini kalan süreyi vb. gösteren bir ilerleme ölçer görüntüler. İlerleme ölçer, aktarım hızını saniyede bayt cinsinden görüntüler. Son ekler (k, M, G, T, P) 1024 tabanlıdır. Örneğin 1k, 1024 bayttır. 1M, 1048576 bayttır.
curl bu verileri varsayılan olarak terminale görüntüler; bu nedenle curl'ü bir işlem yapması için çağırırsanız ve terminale veri yazmak üzereyse, ilerleme ölçer ile yanıt verilerinin birbirine karışarak çıktıyı bozmasını önlemek için ilerleme ölçeri devre dışı bırakır.
HTTP POST or PUT istekleri için bir ilerleme ölçer istiyorsanız, kabuk yönlendirmesi (>), -o, --output veya benzerlerini kullanarak yanıt çıktısını bir dosyaya yönlendirmeniz gerekir.
Bu durum, terminale herhangi bir yanıt verisi göndermediği için FTP yüklemesi için geçerli değildir.
Normal ölçer yerine bir ilerleme "çubuğu" tercih ederseniz, -#, --progress-bar en iyi yardımcınızdır. İlerleme ölçeri -s, --silent seçeneğiyle tamamen devre dışı bırakabilirsiniz.
Sürüm
Bu kılavuz sayfası curl %VERSION sürümünü açıklamaktadır. Daha yeni bir sürüm kullanıyorsanız, bu kılavuz sayfasının bunu tam olarak belgelememe ihtimali vardır. Daha eski bir sürüm kullanıyorsanız, bu belge hangi belirli sürümün değişiklikleri getirdiğiyle ilgili sürüm bilgilerini dahil etmeye çalışır.
Aşağıdaki komutu çalıştırarak en son curl sürümünün hangisi olduğunu her zaman öğrenebilirsiniz:
curl https://curl.se/info
Bu kılavuz sayfasının çevrimiçi sürümü her zaman en son halini gösterir: https://curl.se/docs/manpage.html
Seçenekler
Seçenekler bir veya iki tire işaretiyle başlar. Seçeneklerin çoğu yanlarında ek bir değer gerektirir. Sağlanan metin bir tire ile başlamıyorsa, bir URL olduğu varsayılır ve bu şekilde işlem görür.
Seçeneklerin kısa "tek tireli" biçimi, örneğin -d, kendisi ile değeri arasında bir boşluk bırakılarak veya bırakılmadan kullanılabilir, ancak boşluk önerilen bir ayırıcıdır. Uzun "çift tireli" biçim, örneğin -d, --data, kendisi ile değeri arasında bir boşluk gerektirir.
Ek bir değere ihtiyaç duymayan kısa sürüm seçenekleri hemen yan yana kullanılabilir, örneğin -O, -L ve -v seçeneklerinin tümünü tek seferde -OLv şeklinde belirtebilirsiniz.
Genel olarak, tüm boolean seçenekler --secenek ile etkinleştirilir ve yine --no-secenek ile devre dışı bırakılır. Yani, aynı seçenek adını kullanırsınız ancak önüne "no-" ön eki getirirsiniz. Ancak bu listede çoğunlukla yalnızca bunların --secenek sürümünü listeliyoruz.
-:, --next kullanıldığında, ayrıştırıcı durumunu sıfırlar ve "global" olan seçenekler hariç olmak üzere temiz bir seçenek durumuyla yeniden başlarsınız. Global seçenekler, -:, --next sonrasında bile değerlerini ve anlamlarını korurlar.
Aşağıdaki seçenekler globaldir: --fail-early, --libcurl, --parallel-immediate, -Z, --parallel, -#, --progress-bar, --rate, -S, --show-error, --stderr, --styled-output, --trace-ascii, --trace-config, --trace-ids, --trace-time, --trace ve -v, --verbose.
--abstract-unix-socket
Eğer --abstract-unix-socket birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --abstract-unix-socket soketyolu https://example.com
Ayrıca --unix-socket seçeneğine bakın. 7.53.0 sürümünde eklendi.
--alt-svc <dosya adı> (HTTPS) Bu seçenek curl içindeki alt-svc ayrıştırıcısını etkinleştirir. Eğer dosya adı mevcut bir alt-svc önbellek dosyasına işaret ediyorsa, bu dosya kullanılır. Tamamlanan bir aktarımdan sonra, önbellek üzerinde değişiklik yapılmışsa tekrar dosya adına kaydedilir.
Yüklemeyi/kaydetmeyi önlemek ve curl'ün önbelleği yalnızca bellekte işlemesini sağlamak için "" (sıfır uzunlukta) bir dosya adı belirtin.
Bu seçenek birkaç kez kullanılırsa, curl tüm dosyalardan içerik yükler ancak kaydetme için en sonuncusu kullanılır.
--alt-svc bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --alt-svc svc.txt https://example.com
Ayrıca --resolve ve --connect-to seçeneklerine bakın. 7.64.1 sürümünde eklendi.
--anyauth (HTTP) curl'e kimlik doğrulama yöntemini kendi kendine çözmesini ve uzak sitenin desteklediğini iddia ettiği en güvenli yöntemi kullanmasını söyler. Bu, önce bir istek gönderip yanıt üst bilgilerini kontrol ederek yapılır, böylece ekstra bir ağ gidiş-dönüşüne neden olabilir. Bu seçenek, --basic, --digest, --ntlm and --negotiate ile yapabileceğiniz belirli bir kimlik doğrulama yöntemi ayarlamak yerine kullanılır.
Standart girdiden yükleme yapıyorsanız --anyauth kullanılması önerilmez, çünkü verilerin iki kez gönderilmesini gerektirebilir ve bu durumda istemcinin geri sarabilmesi gerekir. Standart girdiden yükleme yaparken bu ihtiyaç ortaya çıkarsa, yükleme işlemi başarısız olur.
-u, --user ile birlikte kullanılır.
--anyauth seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --anyauth --user ben:sifre https://example.com
Ayrıca --proxy-anyauth, --basic ve --digest seçeneklerine bakın.
-a, --append (FTP SFTP) Bir yüklemede kullanıldığında, bu seçenek curl'ün hedef dosyanın üzerine yazmak yerine dosyaya ekleme yapmasını sağlar. Uzak dosya mevcut değilse oluşturulur. Bu bayrağın bazı SFTP sunucuları (OpenSSH dahil) tarafından yoksayıldığını unutmayın.
--append seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-append ile tekrar devre dışı bırakın.
Örnek: curl --upload-file yerel --append ftp://example.com/
Ayrıca -r, --range ve -C, --continue-at seçeneklerine bakın.
--aws-sigv4 <sağlayıcı1[:sağlayıcı2[:bölge[:hizmet]]]> (HTTP) Aktarımda AWS V4 imza kimlik doğrulamasını kullanın.
Sağlayıcı argümanı, giden kimlik doğrulama üst bilgilerini oluştururken algoritma tarafından kullanılan bir dizedir.
Bölge argümanı, bölge adı uç noktadan çıkarıldığında bir kaynak koleksiyonunun coğrafi alanına işaret eden bir dizedir.
Hizmet argümanı, hizmet adı uç noktadan çıkarıldığında bir bulut tarafından sağlanan bir işleve işaret eden bir dizedir.
Eğer --aws-sigv4 birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --aws-sigv4 "aws:amz:us-east-2:es" --user "anahtar:sir" https://example.com
Ayrıca --basic ve -u, --user seçeneklerine bakın. 7.75.0 sürümünde eklendi.
--basic (HTTP) curl'e uzak ana bilgisayarla HTTP Temel kimlik doğrulamasını kullanmasını söyler. Bu varsayılandır ve farklı bir kimlik doğrulama yöntemi ayarlayan önceden ayarlanmış bir seçeneği geçersiz kılmak için kullanmadığınız sürece bu seçenek genellikle anlamsızdır.
-u, --user ile birlikte kullanılır.
--basic seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -u isim:sifre --basic https://example.com
Ayrıca --proxy-basic seçeneğine bakın.
--ca-native (TLS) curl'e karşı tarafı doğrulamak için yerel işletim sisteminin CA deposunu kullanmasını söyler. Varsayılan olarak, curl aksi takdirde tek bir dosya veya dizinde sağlanan bir CA deposunu kullanır, ancak bu seçeneği kullanırken işletim sisteminin kendi kasasıyla arayüz oluşturur.
Bu seçenek, OpenSSL, wolfSSL (8.3.0 sürümünde eklendi) veya GnuTLS (8.5.0 sürümünde eklendi) kullanacak şekilde derlendiğinde Windows üzerindeki curl için çalışır. Windows üzerindeki curl Schannel kullanacak şekilde derlendiğinde, bu özellik kendiliğinden geçerlidir ve curl yalnızca yerel CA deposunu kullanır.
--ca-native seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ca-native ile tekrar devre dışı bırakın.
Örnek: curl --ca-native https://example.com
Ayrıca --cacert, --capath and -k, --insecure seçeneklerine bakın. 8.2.0 sürümünde eklendi.
--cacert
curl, 'CURL_CA_BUNDLE' adlı çevre değişkeni ayarlanmışsa ve TLS arka ucu Schannel değilse bunu tanır ve verilen yolu bir CA sertifika paketinin yolu olarak kullanır. Bu seçenek o değişkeni geçersiz kılar.
Windows curl sürümü, curl.exe ile aynı dizinde, Geçerli Çalışma Dizininde veya PATH yolunuz üzerindeki herhangi bir klasörde otomatik olarak 'curl-ca-bundle.crt' adlı bir CA sertifika dosyası arar.
(Yalnızca iOS ve macOS) curl Secure Transport'a karşı derlenmişse, bu seçenek diğer SSL motorlarıyla geriye dönük uyumluluk için desteklenir, ancak ayarlanmamalıdır. Seçenek ayarlanmazsa, curl karşı tarafın sertifika zincirini doğrulamak için sistemdeki ve kullanıcı Anahtar Zincirindeki sertifikaları kullanır; bu, karşı tarafın sertifika zincirini doğrulamak için tercih edilen yöntemdir.
(Yalnızca Schannel) Bu seçenek Windows 7 veya sonraki sürümlerdeki Schannel için desteklenir (7.60.0 sürümünde eklendi). Bu seçenek diğer SSL motorlarıyla geriye dönük uyumluluk için desteklenir; bunun yerine Windows'un kök sertifika deposunun kullanılması önerilir (Schannel için varsayılandır).
Eğer --cacert birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --cacert CA-dosyasi.txt https://example.com
Ayrıca --capath ve -k, --insecure seçeneklerine bakın.
--capath
Bu seçenek ayarlanırsa, varsayılan capath değeri yoksayılır.
Eğer --capath birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --capath /yerel/dizin https://example.com
Ayrıca --cacert ve -k, --insecure seçeneklerine bakın.
--cert-status (TLS) curl'e Sertifika Durum İsteği (OCSP zımbalaması) TLS uzantısını kullanarak sunucu sertifikasının durumunu doğrulamasını söyler.
Bu seçenek etkinleştirilirse ve sunucu geçersiz (örneğin süresi dolmuş) bir yanıt gönderirse, yanıt sunucu sertifikasının iptal edildiğini gösteriyorsa veya hiçbir yanıt alınamazsa doğrulama başarısız olur.
Bu şu anda yalnızca OpenSSL ve GnuTLS arka uçlarında uygulanmıştır.
--cert-status seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-cert-status ile tekrar devre dışı bırakın.
Örnek: curl --cert-status https://example.com
Ayrıca --pinnedpubkey seçeneğine bakın.
--cert-type <tür> (TLS) curl'e sağlanan istemci sertifikasının hangi türde olduğunu söyler. PEM, DER, ENG ve P12 tanınan türlerdir.
Varsayılan tür TLS arka ucuna bağlıdır ve genellikle PEM'dir, ancak Secure Transport ve Schannel için P12'dir. Eğer -E, --cert seçeneği bir pkcs11: URI'si ise, varsayılan tür ENG olur.
Eğer --cert-type birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --cert-type PEM --cert dosya https://example.com
Ayrıca -E, --cert, --key ve --key-type seçeneklerine bakın.
-E, --cert <sertifika[:sifre]> (TLS) HTTPS, FTPS veya başka bir SSL tabanlı protokol ile bir dosya alırken curl'e belirtilen istemci sertifikası dosyasını kullanmasını söyler. Secure Transport kullanılıyorsa sertifika PKCS#12 formatında, başka bir motor kullanılıyorsa PEM formatında olmalıdır. İsteğe bağlı şifre belirtilmezse, terminalde sorulur. Bu seçeneğin, özel anahtar ile istemci sertifikasının birleştirildiği bir sertifika dosyası varsaydığını unutmayın. Bunları bağımsız olarak belirtmek için -E, --cert ve --key seçeneklerine bakın.
Argümanın
curl OpenSSL kütüphanesine karşı derlenmişse ve pkcs11 motoru mevcutsa, bir PKCS#11 cihazında bulunan bir sertifikayı belirtmek için bir PKCS#11 URI (RFC 7512) kullanılabilir. "pkcs11:" ile başlayan bir dize, bir PKCS#11 URI olarak yorumlanır. Bir PKCS#11 URI sağlanırsa, belirtilmemişse --engine seçeneği "pkcs11" olarak ayarlanır ve belirtilmemişse --cert-type seçeneği "ENG" olarak ayarlanır.
(Yalnızca iOS ve macOS) curl Secure Transport'a karşı derlenmişse, sertifika dizesi sistem veya kullanıcı anahtar zincirindeki bir sertifika/özel anahtarın adı ya da PKCS#12 kodlu sertifika ve özel anahtarın yolu olabilir. Geçerli dizinden bir dosya kullanmak istiyorsanız, bir takma adla karışmasını önlemek için lütfen önüne "./" ön eki getirin.
(Yalnızca Schannel) İstemci sertifikaları, bir sertifika deposuna giden bir yol ifadesiyle belirtilmelidir. (PFX yükleme desteklenmez; önce bir depoya aktarabilirsiniz). Sistem sertifikaları deposundaki bir sertifikaya atıfta bulunmak için "
Eğer --cert birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --cert sertifikadosyasi --key anahtardosyasi https://example.com
Ayrıca --cert-type, --key ve --key-type seçeneklerine bakın.
--ciphers <şifre listesi> (TLS) Bağlantıda hangi şifrelerin kullanılacağını belirtir. Şifre listesi geçerli şifreleri belirtmelidir. SSL şifre listesi ayrıntılarını bu URL üzerinden okuyabilirsiniz:
https://curl.se/docs/ssl-ciphers.html
Eğer --ciphers birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com
Ayrıca --tlsv1.3, --tls13-ciphers ve --proxy-ciphers seçeneklerine bakın.
--compressed-ssh (SCP SFTP) Yerleşik SSH sıkıştırmasını etkinleştirir. Bu bir taleptir, bir emir değildir; sunucu bunu yapabilir veya yapmayabilir.
--compressed-ssh seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-compressed-ssh ile tekrar devre dışı bırakın.
Örnek: curl --compressed-ssh sftp://example.com/
Ayrıca --compressed seçeneğine bakın. 7.56.0 sürümünde eklendi.
--compressed (HTTP) curl'ün desteklediği algoritmalardan birini kullanarak sıkıştırılmış bir yanıt talep eder ve içeriği otomatik olarak açar.
Yanıt üst bilgileri kaydedilirken değiştirilmez, bu nedenle daha sonraki bir noktada ayrı olarak "yorumlandıklarında" içeriğin (hâlâ) sıkıştırılmış olduğunu söylüyor gibi görünmeye değer; oysa gerçekte içerik zaten açılmıştır.
Bu seçenek kullanılırsa ve sunucu desteklenmeyen bir kodlama gönderirse, curl bir hata bildirir. Bu bir taleptir, bir emir değildir; sunucu verileri sıkıştırılmış olarak teslim edebilir veya etmeyebilir.
--compressed seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-compressed ile tekrar devre dışı bırakın.
Örnek: curl --compressed https://example.com
Ayrıca --compressed-ssh seçeneğine bakın.
-K, --config
Seçenekler ve parametreleri dosyada aynı satırda belirtilmeli, aralarında boşluk, iki nokta üst üste veya eşittir işareti bulunmalıdır. Uzun seçenek adları, yapılandırma dosyasında isteğe bağlı olarak başlangıçtaki çift tire olmadan verilebilir ve bu durumda ayırıcı olarak iki nokta üst üste veya eşittir karakterleri kullanılabilir. Seçenek bir veya iki tire ile belirtilmişse, seçenek ile parametresi arasında iki nokta üst üste veya eşittir karakteri olamaz.
Eğer parametre boşluk içeriyorsa veya iki nokta üst üste (:) ya da eşittir işareti (=) ile başlıyorsa, çift tırnak (") içinde belirtilmelidir. Çift tırnak içinde şu kaçış dizileri mevcuttur: \, ", \t, \n, \r ve \v. Diğer harflerden önce gelen ters eğik çizgi yoksayılır.
Bir yapılandırma satırının ilk boş olmayan sütunu '#' karakteri ise, o satır yorum satırı olarak kabul edilir.
Yapılandırma dosyasında fiziksel satır başına yalnızca bir seçenek yazın. Tek bir satırın 10 megabayttan fazla olmaması gerekir (8.2.0 sürümünden beri).
curl'ün dosyayı standart girdiden okumasını sağlamak için -K, --config için dosya adını '-' olarak belirtin.
Yapılandırma dosyasında bir URL belirtebilmek için, URL'yi kendi satırına yazmak yerine --url seçeneğini kullanarak belirtmeniz gerektiğini unutmayın. Yani şuna benzer görünebilir:
url = "https://curl.se/docs/"
--- Örnek dosya ---
bu bir yorumdur
url = "example.com" output = "curlhere.html" user-agent = "superagent/1.0"
ve başka bir URL'yi daha al
url = "example.com/docs/manpage.html" -O referer = "http://nowhereatall.example.com/"
--- Örnek dosyanın sonu ---
curl çağrıldığında (-q, --disable kullanılmadığı sürece) varsayılan bir yapılandırma dosyası olup olmadığını kontrol eder ve bulunursa, -K, --config kullanılsa bile bunu kullanır. Varsayılan yapılandırma dosyası sırasıyla şu yerlerde kontrol edilir:
"$CURL_HOME/.curlrc"
"$XDG_CONFIG_HOME/curlrc" (7.73.0 sürümünde eklendi)
"$HOME/.curlrc"
Windows: "%USERPROFILE%.curlrc"
Windows: "%APPDATA%.curlrc"
Windows: "%USERPROFILE%\Application Data.curlrc"
Windows dışı: ev dizinini bulmak için getpwuid kullanın
Windows üzerinde, yukarıda açıklanan sırada hiçbir .curlrc dosyası bulamazsa, curl yürütülebilir dosyasının yerleştirildiği dizinde bir tane olup olmadığını kontrol eder.
Windows üzerinde konum başına iki dosya adı kontrol edilir: .curlrc ve _curlrc, ilki tercih edilir. Windows'taki eski sürümler yalnızca _curlrc dosyasını kontrol ederdi.
--config bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --config dosya.txt https://example.com
Ayrıca -q, --disable seçeneğine bakın.
--connect-timeout <ondalık saniye> curl'ün bağlantısının sürmesine izin verdiğiniz saniye cinsinden maksimum süre. Bu yalnızca bağlantı aşamasını sınırlar, bu nedenle curl verilen süre içinde bağlanırsa devam eder - bağlanamazsa çıkış yapar.
Bu seçenek ondalık değerleri kabul eder. Ondalık değerin, başka bir ayırıcı kullanıyor olsa bile yerel sürüm değil, ondalık ayırıcı olarak bir nokta (.) kullanılarak sağlanması gerekir.
DNS araması ve talep edilen TCP, TLS veya QUIC el sıkışmaları tamamlandığında bağlantı aşamasının tamamlandığı kabul edilir.
Eğer --connect-timeout birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --connect-timeout 20 https://example.com curl --connect-timeout 3.14 https://example.com
Ayrıca -m, --max-time seçeneğine bakın.
--connect-to <ANA_BILGISAYAR1:PORT1:ANA_BILGISAYAR2:PORT2> Verilen "ANA_BILGISAYAR1:PORT1" çiftine yapılan bir istek için, bunun yerine "ANA_BILGISAYAR2:PORT2"ye bağlanın. Bu seçenek istekleri belirli bir sunucuya, örneğin bir sunucu kümesindeki belirli bir küme düğümüne yönlendirmek için uygundur. Bu seçenek yalnızca ağ bağlantısını kurmak için kullanılır. TLS/SSL için (örneğin SNI, sertifika doğrulaması) veya uygulama protokolleri için kullanılan ana bilgisayar adını/portunu ETKİLEMEZ. "ANA_BILGISAYAR1" ve "PORT1" boş dize olabilir, bu da "herhangi bir ana bilgisayar/port" anlamına gelir. "ANA_BILGISAYAR2" ve "PORT2" de boş dize olabilir, bu da "isteğin orijinal ana bilgisayarını/portunu kullan" anlamına gelir.
Bu seçeneğe belirtilen bir ana bilgisayar adı dize olarak karşılaştırılır, bu nedenle istek URL'sinde kullanılan adla eşleşmesi gerekir. "127.0.0.1" gibi sayısal veya "example.org" gibi tam ana bilgisayar adı olabilir.
--connect-to bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --connect-to example.com:443:example.net:8443 https://example.com
Ayrıca --resolve ve -H, --header seçeneklerine bakın.
-C, --continue-at
Aktarımı nereden/nasıl sürdüreceğini otomatik olarak bulmasını curl'e söylemek için "-C -" kullanın. Daha sonra bunu bulmak için verilen çıktı/girdi dosyalarını kullanır.
Eğer --continue-at birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl -C - https://example.com curl -C 400 https://example.com
Ayrıca -r, --range seçeneğine bakın.
-c, --cookie-jar <dosya adı> (HTTP) İşlem tamamlandıktan sonra curl'ün tüm çerezleri hangi dosyaya yazmasını istediğinizi belirtir. Curl, işlemlerin sonunda belleğindeki çerez deposundan tüm çerezleri verilen dosyaya yazar. Bilinen bir çerez yoksa, hiçbir veri yazılmaz. Dosya, Netscape çerez dosyası formatı kullanılarak oluşturulur. Dosya adını tek bir tire işareti, "-", olarak ayarlarsanız, çerezler standart çıktıya yazılır.
-c, --cookie-jar ile belirtilen dosya yalnızca çıktı için kullanılır. Dosyadan hiçbir çerez okunmaz. Çerezleri okumak için -b, --cookie seçeneğini kullanın. Her iki seçenek de aynı dosyayı belirtebilir.
Bu komut satırı seçeneği, curl'ün çerezleri kaydetmesini ve kullanmasını sağlayan çerez motorunu etkinleştirir. -b, --cookie seçeneği de bunu etkinleştirir.
Çerez kavanozu oluşturulamaz veya yazılamazsa, tüm curl işlemi başarısız olmaz ve hatta net bir hata bildirmez. -v, --verbose kullanılması bir uyarının görüntülenmesini sağlar, ancak bu olası tehlikeli durum hakkında alacağınız tek görünür geri bildirimdir.
Eğer --cookie-jar birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl -c buraya-kaydet.txt https://example.com curl -c buraya-kaydet.txt -b bunlari-oku https://example.com
Ayrıca -b, --cookie seçeneğine bakın.
-b, --cookie <veri|dosya adı> (HTTP) Verileri Cookie üst bilgisinde HTTP sunucusuna iletir. Bunun, daha önce sunucudan bir "Set-Cookie:" satırında alınan veriler olduğu varsayılır. Veriler "ISIM1=DEGER1; ISIM2=DEGER2" formatında olmalıdır. Bu, curl'ün giden tüm isteklerde bu içeriğe sahip çerez üst bilgisini açıkça kullanmasını sağlar. Kimlik doğrulama, takip edilen yönlendirmeler veya benzerleri nedeniyle birden fazla istek yapılırsa, hepsine bu çerez iletilir.
Argümanda '=' sembolü kullanılmazsa, bunun yerine önceden saklanan çerezin okunacağı bir dosya adı olarak kabul edilir. Bu seçenek ayrıca curl'ün gelen çerezleri kaydetmesini sağlayan çerez motorunu da etkinleştirir; bu, bunu -L, --location seçeneğiyle birlikte kullanıyorsanız veya aynı çağrıda birden fazla URL aktarımı yapıyorsanız kullanışlı olabilir.
Dosya adı tam olarak bir eksi ("-") ise, curl bunun yerine içeriği standart girdiden okur. Dosya adı boş bir dize ("") ise ve tek çerez girdisi buysa, curl çerez motorunu hiçbir çerez olmadan etkinleştirir.
Çerezlerin okunacağı dosyanın biçimi düz HTTP üst bilgileri (Set-Cookie tarzı) veya Netscape/Mozilla çerez dosyası biçimi olmalıdır.
-b, --cookie ile belirtilen dosya yalnızca girdi olarak kullanılır. Dosyaya hiçbir çerez yazılmaz. Çerezleri saklamak için -c, --cookie-jar seçeneğini kullanın.
Set-Cookie dosya biçimini kullanıyorsanız ve bir etki alanı belirtmiyorsanız, etki alanı hiçbir zaman eşleşmediği için çerez gönderilmez. Bunu çözmek için, Set-Cookie satırında bir etki alanı ayarlayın (bunu yapmak alt etki alanlarını da içerir) veya tercihen: Netscape biçimini kullanın.
Kullanıcılar genellikle hem bir dosyadan çerezleri okumak hem de güncellenmiş çerezleri bir dosyaya geri yazmak isterler, bu nedenle aynı komut satırında hem -b, --cookie ve -c, --cookie-jar kullanılması yaygındır.
curl PSL (Public Suffix List) desteğiyle derlenmişse, çerez almasına izin verilmemesi gereken bu tür sonek etki alanları için belirtilen çerezleri algılar ve atar. curl PSL desteğiyle derlenmemişse, süper çerezleri durdurma yeteneğine sahip değildir.
--cookie bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -b "" https://example.com curl -b cerekdosyasi https://example.com curl -b cerekdosyasi -c cerekdosyasi https://example.com
Ayrıca -c, --cookie-jar ve -j, --junk-session-cookies seçeneklerine bakın.
--create-dirs -o, --output seçeneğiyle birlikte kullanıldığında, curl gerektiğinde gerekli yerel dizin hiyerarşisini oluşturur. Bu seçenek, -o, --output seçeneğiyle belirtilen dizinleri --output-dir ile ayarlanmış olabilecek yolla birleştirerek oluşturur. Birleştirilen çıktı dosyası adı hiçbir dizin kullanmıyorsa veya bahsettiği dizinler zaten mevcutsa hiçbir dizin oluşturulmaz.
Oluşturulan dizinler, unix tarzı dosya sistemlerinde 0750 moduyla yapılır.
FTP veya SFTP kullanırken uzak dizinler oluşturmak için --ftp-create-dirs seçeneğini deneyin.
--create-dirs seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-create-dirs ile tekrar devre dışı bırakın.
Örnek: curl --create-dirs --output yerel/diz/dosya https://example.com
Ayrıca --ftp-create-dirs ve --output-dir seçeneklerine bakın.
--create-file-mode
Bu seçenek argüman olarak sekizlik bir sayı alır.
Eğer --create-file-mode birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --create-file-mode 0777 -T yereldosya sftp://example.com/yeni
Ayrıca --ftp-create-dirs seçeneğine bakın. 7.75.0 sürümünde eklendi.
--crlf (FTP SMTP) Yüklemede satır beslemelerini, satır başı artı satır beslemelerine dönüştürür. MVS (OS/390) için kullanışlıdır.
(SMTP 7.40.0 sürümünde eklendi)
--crlf seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-crlf ile tekrar devre dışı bırakın.
Örnek: curl --crlf -T dosya ftp://example.com/
Ayrıca -B, --use-ascii seçeneğine bakın.
--crlfile
Eğer --crlfile birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --crlfile rejects.txt https://example.com
Ayrıca --cacert ve --capath seçeneklerine bakın.
--curves
--curves, OpenSSL destekli bir curl'ün şeffaf olmayan istemci/sunucu müzakerelerini önleyerek tam olarak istemci tarafından talep edilen (EC) eğrisi ile SSL bağlantıları kurmasını sağlar.
Bu seçenek ayarlanırsa, OpenSSL bünyesinde bulunan varsayılan eğriler listesi yoksayıldı.
Eğer --curves birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --curves X25519 https://example.com
Ayrıca --ciphers seçeneğine bakın. 7.73.0 sürümünde eklendi.
--data-ascii
--data-ascii bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --data-ascii @dosya https://example.com
Ayrıca --data-binary, --data-raw ve --data-urlencode seçeneklerine bakın.
--data-binary
Eğer verinin başındaki '@' karakterini korumak istiyorsanız --data-raw seçeneğine bakın. Veriyi URL kodlu göndermek istiyorsanız --data-urlencode seçeneğine bakın.
--data-binary bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --data-binary @ikili-dosya https://example.com
Ayrıca -d, --data ve --data-raw seçeneklerine bakın.
--data-raw
--data-raw bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --data-raw "@at-sembolu-ile-baslayan-veri" https://example.com
Ayrıca -d, --data ve --data-binary seçeneklerine bakın. 7.43.0 sürümünde eklendi.
--data-urlencode
Aşağıdaki formatlarda kullanılabilir:
icerik Veriyi doğrudan URL kodlamasından geçirerek gönderir.
=icerik icerik kısmını aynen URL kodlar ancak giden verinin başına bir '=' sembolü koymaz.
isim=icerik isim= kısmını korur ancak icerik kısmını URL kodlayarak gönderir.
isim@dosya dosya yolundaki dosyanın içeriğini okur ve bunu isim= parametresinin değeri olarak URL kodlayarak gönderir.
@dosya dosya yolundaki dosyayı okur ve içeriği doğrudan URL kodlayarak gönderir. Dosya içeriği isim= şeklinde bir parametre adı içerebilir.
--data-urlencode bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl --data-urlencode "isim=Ben Smith" https://example.com curl --data-urlencode =dosyaiceri https://example.com curl --data-urlencode yerel@dosya.txt https://example.com
Ayrıca -d, --data ve --data-raw seçeneklerine bakın.
-d, --data
Veri birden fazla -d seçeneği kullanılarak bölünmüş olarak komut satırında verilebilir. Bu durumda curl bunları aralarına '&' karakteri koyarak birleştirir.
Veri '@' karakteriyle başlıyorsa, bunu takip eden dize okunacak dosyanın adıdır. Dosyadaki verinin içindeki satır sonu (yeni satır) karakterleri curl tarafından kaldırılır. Dosyayı standart girdiden okumak için "@-" kullanabilirsiniz.
Tüm veriyi olduğu gibi, satır sonlarını ve ikili karakterleri koruyarak göndermek istiyorsanız --data-binary seçeneğini kullanın. Verinin başındaki '@' karakterini korumak ve dosya olarak algılanmasını önlemek için --data-raw seçeneğine bakın.
Dosya içeriğini tamamen veya kısmen URL kodlu olarak göndermek için --data-urlencode seçeneğine bakın.
Bu seçenek kullanıldığında, varsayılan istek yöntemi POST olarak ayarlanır. Bunu -X, --request seçeneğiyle değiştirebilirsiniz ancak bu yalnızca yöntemin adını değiştirir, curl'ün davranışını (örneğin verinin gönderilip gönderilmeyeceğini) değiştirmez. POST yerine GET isteği yapmak için -G, --get seçeneğine bakın.
-d, --data seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -d "isim=ben&sifre=gizli" https://example.com curl -d @postverisi.txt https://example.com
Ayrıca --data-binary, --data-raw ve --data-urlencode seçeneklerine bakın.
--delegation
none Hiçbir yetki delege edilmez.
policy Yalnızca sunucu tarafındaki Kerberos biletinde (ticket) buna izin veren bir ilke ayarlanmışsa delege edilir.
always Yetkiler her zaman delege edilir.
Eğer --delegation birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --delegation policy https://example.com
Ayrıca --negotiate seçeneğine bakın. 7.22.0 sürümünde eklendi.
--digest (HTTP) HTTP Digest kimlik doğrulamasını etkinleştirir. Bu, sunucuyla şifrelerin açık metin olarak gitmediği daha güvenli bir kimlik doğrulama yöntemi kurulmasını sağlar.
-u, --user ile birlikte kullanılır.
--digest seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --digest -u kullanıcı:sifre https://example.com
Ayrıca --anyauth, --basic ve --proxy-digest seçeneklerine bakın.
--disable-eprt (FTP) Aktif FTP bağlantılarında EPRT ve LPRT komutlarının kullanılmasını devre dışı bırakır. curl normalde aktif aktarımlar için PORT komutunu denemeden önce EPRT ve ardından LPRT komutlarını kullanmaya çalışır. Bu seçenekle curl doğrudan PORT komutunu kullanır.
EPRT, IPv6 bağlantılarında standarttır ve PORT bu protokolü desteklemez. Bu seçeneğin kullanılması aktif IPv6 bağlantılarının çalışmasını engelleyebilir.
--disable-eprt seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-disable-eprt ile tekrar devre dışı bırakın (EPRT desteğini etkinleştirir).
Örnek: curl --disable-eprt -P - ftp://example.com/
Ayrıca --disable-epsv ve --ftp-port seçeneklerine bakın.
--disable-epsv (FTP) Pasif FTP bağlantılarında EPSV komutunun kullanılmasını devre dışı bırakır. curl normalde PASV komutunu denemeden önce EPSV komutunu kullanmaya çalışır. Bu seçenekle curl doğrudan PASV komutunu kullanır.
EPSV, IPv6 bağlantılarında standarttır ve PASV bu protokolü desteklemez. Bu seçeneğin kullanılması pasif IPv6 bağlantılarının çalışmasını engelleyebilir.
--disable-epsv seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-disable-epsv ile tekrar devre dışı bırakın (EPSV desteğini etkinleştirir).
Örnek: curl --disable-epsv ftp://example.com/
Ayrıca --disable-eprt ve --ftp-pasv seçeneklerine bakın.
-q, --disable İlk komut satırı seçeneği olarak kullanılırsa, varsayılan yapılandırma dosyasının (.curlrc) okunmasını engeller.
Bu seçeneğin ilk seçenek olarak verilmemesi durumunda hiçbir etkisi yoktur.
Örnek: curl -q https://example.com
Ayrıca -K, --config seçeneğine bakın.
--disallow-username-in-url Verilen URL içinde bir kullanıcı adı bulunması durumunda curl'ün hata vererek çıkış yapmasını sağlar. Bu seçenek, kimlik avı (phishing) veya yanlışlıkla güvenli olmayan URL formatlarının kullanılmasını engellemek için güvenlik amaçlı kullanılabilir.
--disallow-username-in-url seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-disallow-username-in-url ile tekrar devre dışı bırakın.
Örnek: curl --disallow-username-in-url https://example.com
Ayrıca --url seçeneğine bakın. 7.61.0 sürümünde eklendi.
--dns-interface <arayüz> (DNS) IPv4 veya IPv6 DNS aramalarının belirli bir ağ arayüzü üzerinden yapılmasını sağlar. Arayüz adı verilmelidir (örneğin "eth0").
Bu seçenek yalnızca curl, c-ares DNS çözümleyici kütüphanesiyle derlenmişse çalışır.
Eğer --dns-interface birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --dns-interface eth0 https://example.com
Ayrıca --dns-ipv4-addr ve --dns-ipv6-addr seçeneklerine bakın. 7.33.0 sürümünde eklendi.
--dns-ipv4-addr
Bu seçenek yalnızca curl, c-ares DNS çözümleyici kütüphanesiyle derlenmişse çalışır.
Eğer --dns-ipv4-addr birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --dns-ipv4-addr 10.1.2.3 https://example.com
Ayrıca --dns-interface ve --dns-ipv6-addr seçeneklerine bakın. 7.33.0 sürümünde eklendi.
--dns-ipv6-addr
Bu seçenek yalnızca curl, c-ares DNS çözümleyici kütüphanesiyle derlenmişse çalışır.
Eğer --dns-ipv6-addr birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --dns-ipv6-addr fe80::1 https://example.com
Ayrıca --dns-interface ve --dns-ipv4-addr seçeneklerine bakın. 7.33.0 sürümünde eklendi.
--dns-servers
Bu seçenek yalnızca curl, c-ares DNS çözümleyici kütüphanesiyle derlenmişse çalışır.
Eğer --dns-servers birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --dns-servers 192.168.1.1,8.8.8.8 https://example.com
Ayrıca --dns-interface seçeneğine bakın. 7.33.0 sürümünde eklendi.
--doh-cert-status (DNS) Güvenli DNS (DoH - DNS-over-HTTPS) sunucusunun sertifika durumunu (OCSP zımbalaması) doğrular. Tıpkı --cert-status gibi çalışır ancak DoH sunucusu bağlamında uygulanır.
--doh-cert-status seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-doh-cert-status ile tekrar devre dışı bırakın.
Örnek: curl --doh-cert-status --doh-url https://doh.example https://example.com
Ayrıca --doh-url ve --cert-status seçeneklerine bakın. 7.76.0 sürümünde eklendi.
--doh-insecure (DNS) Güvenli DNS (DoH) sunucusunun SSL sertifikası doğrulamalarını devre dışı bırakır. Tıpkı -k, --insecure gibi çalışır ancak DoH sunucusu bağlamında uygulanır.
--doh-insecure seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-doh-insecure ile tekrar devre dışı bırakın.
Örnek: curl --doh-insecure --doh-url https://doh.example https://example.com
Ayrıca --doh-url ve -k, --insecure seçeneklerine bakın. 7.60.0 sürümünde eklendi.
--doh-url
Eğer --doh-url birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --doh-url https://cloudflare-dns.com/dns-query https://example.com
Ayrıca --doh-insecure ve --doh-cert-status seçeneklerine bakın. 7.60.0 sürümünde eklendi.
-D, --dump-header <dosya adı> (HTTP FTP) Alınan HTTP yanıt veya FTP sunucu yanıt üst bilgilerini (headers) belirtilen dosyaya kaydeder.
Bu seçenek, sunucu tarafından gönderilen çerezleri saklamak ve daha sonraki isteklerde kullanmak için oldukça kullanışlıdır. Çerezleri daha profesyonel bir şekilde yönetmek için -c, --cookie-jar ve -b, --cookie seçeneklerine bakın.
Dosya adı olarak tek bir tire işareti, "-", belirtilirse, üst bilgiler standart çıktıya yazılır.
Eğer --dump-header birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --dump-header ustbilgiler.txt https://example.com
Ayrıca -o, --output ve -c, --cookie-jar seçeneklerine bakın.
--egd-file
Eğer --egd-file birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --egd-file /soket/yolu https://example.com
Ayrıca --random-file seçeneğine bakın.
--engine
Eğer --engine birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --engine pkcs11 https://example.com
Ayrıca --cert-type ve --key-type seçeneklerine bakın.
--etag-compare
Dosya formatı, doğrudan ETag değerini içeren tek bir satır olmalıdır (çift tırnaklar dahil veya hariç).
Eğer --etag-compare birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --etag-compare etag.txt https://example.com
Ayrıca --etag-save ve -z, --time-cond seçeneklerine bakın. 7.68.0 sürümünde eklendi.
--etag-save
Bu seçenek --etag-compare ile birleştirilerek koşullu HTTP istekleri gerçekleştirmek için kullanılır.
Eğer --etag-save birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --etag-save etag.txt https://example.com
Ayrıca --etag-compare seçeneğine bakın. 7.68.0 sürümünde eklendi.
--expect100-timeout
Varsayılan bekleme süresi 1 saniyedir. Bu seçenek ondalık değerleri kabul eder (örneğin 0.5 saniye).
Eğer --expect100-timeout birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --expect100-timeout 2.5 -d @dosya https://example.com
Ayrıca -d, --data seçeneğine bakın. 7.47.0 sürümünde eklendi.
--fail-early Bir hata oluştuğunda curl'ün hemen çıkış yapmasını sağlar. Normalde curl, komut satırında birden fazla URL belirtildiğinde bir hata oluşsa bile sonraki URL'leri aktarmaya devam eder. Bu seçenekle, ilk hata anında tüm işlemler iptal edilir ve hata koduyla çıkış yapılır.
Bu seçenek globaldir.
--fail-early seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-fail-early ile tekrar devre dışı bırakın.
Örnek: curl --fail-early https://example.com https://invalid.example
Ayrıca -f, --fail seçeneğine bakın. 7.52.0 sürümünde eklendi.
--fail-with-body (HTTP) -f, --fail seçeneğine benzer şekilde, sunucu 400 veya daha büyük bir HTTP hata kodu döndürdüğünde curl'ün hata koduyla çıkış yapmasını sağlar, ancak sunucudan gelen hata yanıtının gövdesini (HTML/metin hata sayfasını) çıktıya yazmaya devam eder.
Eğer --fail-with-body birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --fail-with-body https://example.com/404
Ayrıca -f, --fail seçeneğine bakın. 7.76.0 sürümünde eklendi.
-f, --fail (HTTP) Sunucu 400 veya daha büyük bir HTTP hata kodu döndürdüğünde curl'ün sessizce başarısız olmasını sağlar (hiçbir çıktı yazmadan 22 çıkış koduyla sonlanır). Bu seçenek, sunucu tarafında oluşan hataların (örneğin 404 Not Found veya 500 Internal Server Error) çıktı verisi olarak işlenmesini ve betiklerin bozulmasını önlemek için uygundur.
Bu seçenek etkinleştirildiğinde sunucudan gelen hata sayfası çıktısı tamamen yoksayılır ve hiçbir şey yazılmaz. Hata sayfası içeriğini de korumak istiyorsanız --fail-with-body seçeneğine bakın.
--fail seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-fail ile tekrar devre dışı bırakın.
Örnek: curl -f https://example.com/missing-page
Ayrıca --fail-early ve --fail-with-body seçeneklerine bakın.
--false-start (TLS) TLS False Start (Sahte Başlangıç) özelliğini etkinleştirir. Bu, TLS el sıkışması tamamen bitmeden önce istemcinin uygulama verilerini göndermeye başlamasını sağlar, böylece bağlantı hızını artırır.
--false-start seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-false-start ile tekrar devre dışı bırakın.
Örnek: curl --false-start https://example.com
Ayrıca --tcp-fastopen seçeneğine bakın. 7.42.0 sürümünde eklendi.
--form-escape (HTTP) multipart/formdata yüklemelerinde (-F, --form) dosya adı ve alan adlarındaki özel karakterlerin (örneğin tırnak veya ters eğik çizgi) ters eğik çizgi kullanılarak kaçışlandırılmasını (backslash-escaping) etkinleştirir.
--form-escape seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-form-escape ile tekrar devre dışı bırakın.
Örnek: curl --form-escape -F "dosya=@dosya"adı.txt" https://example.com
Ayrıca -F, --form seçeneğine bakın. 7.56.0 sürümünde eklendi.
--form-string <isim=dize> (HTTP) Tıpkı -F, --form seçeneği gibi multipart form verisi gönderir, ancak değerin başındaki '@' veya '<' karakterlerinin dosya okuma talimatı olarak algılanmasını engeller ve değeri doğrudan düz bir dize (string) olarak gönderir.
--form-string bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --form-string "veri=@düz-metin" https://example.com
Ayrıca -F, --form seçeneğine bakın. 7.13.2 sürümünde eklendi.
-F, --form <isim=içerik> (HTTP) curl'ün bir form doldurma işlemini taklit ederek multipart/form-data POST isteği göndermesini sağlar. Bu, web tarayıcısında bir dosya yükleme formunu kullanmaya benzer.
Aşağıdaki formatlarda kullanılabilir:
isim=icerik Form alanına icerik dizesini değer olarak gönderir.
isim=@dosya Belirtilen yerel dosyayı okur ve form dosya yükleme alanı olarak gönderir. Dosya içeriği ikili veri olarak iletilir. Dosya adını belirtmek için "@yerel_dosya;filename=sunucu_dosya_adı" formatını kullanabilirsiniz.
isim=<dosya Belirtilen dosyayı okur ve içeriğini düz metin form alanı değeri olarak gönderir (dosya olarak yüklemez, sadece metin değerini okur).
Dosyayı standart girdiden okumak için "@-" veya "<-" kullanabilirsiniz.
İçerik türünü (Content-Type) manuel olarak belirtmek için ";type=mime/tipi" belirteci eklenebilir, örneğin: "-F "dosya=@resim.png;type=image/png"".
Birden fazla dosya tek bir parametrede virgülle ayrılarak gönderilebilir, örneğin: "-F "resimler=@resim1.png,@resim2.png"".
-F, --form seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -F "profil=@resim.png" https://example.com curl -F "isim=Ben" -F "belge=@rapor.pdf;type=application/pdf" https://example.com
Ayrıca --form-string ve --form-escape seçeneklerine bakın.
--ftp-account
Eğer --ftp-account birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ftp-account "maliyet-merkezi" ftp://example.com/
Ayrıca -u, --user seçeneğine bakın. 7.13.0 sürümünde eklendi.
--ftp-alternative-to-user
Eğer --ftp-alternative-to-user birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ftp-alternative-to-user "MYUSER ben" ftp://example.com/
Ayrıca -u, --user seçeneğine bakın. 7.15.5 sürümünde eklendi.
--ftp-create-dirs (FTP SFTP) Uzak sunucuya dosya yüklerken, hedef dizin veya yol mevcut değilse curl'ün bu dizinleri otomatik olarak oluşturmaya çalışmasını sağlar.
--ftp-create-dirs seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-create-dirs ile tekrar devre dışı bırakın.
Örnek: curl --ftp-create-dirs -T dosya ftp://example.com/yeni/dizin/dosya
Ayrıca --create-dirs seçeneğine bakın. 7.10.7 sürümünde eklendi.
--ftp-method <yöntem> (FTP) Dizin geçişleri ve dosya işlemlerinde curl'ün CWD (Çalışma Dizinini Değiştir) komutunu nasıl kullanacağını belirler.
multicwd curl, hedef yoldaki her bir dizin seviyesi için ayrı bir CWD komutu gönderir. Bu en uyumlu ve güvenli yöntemdir ancak yavaş olabilir.
nocwd curl hiçbir CWD komutu göndermez ve doğrudan tam dosya yolunu kullanarak işlem yapmaya çalışır. En hızlı yöntemdir ancak bazı sunucular desteklemeyebilir.
singlecwd curl tek bir CWD komutuyla doğrudan hedef dizine geçer ve ardından dosyayı alır veya yükler.
Eğer --ftp-method birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ftp-method nocwd ftp://example.com/yol/dosya
Ayrıca --ftp-pasv seçeneğine bakın. 7.15.1 sürümünde eklendi.
--ftp-pasv (FTP) Dosya aktarımlarında pasif modu (PASV veya EPSV) kullanmaya zorlar. Pasif mod, istemci arkasında bir güvenlik duvarı veya NAT yönlendirici olduğunda bağlantı sorunlarını önlemek için önerilen varsayılan moddur.
--ftp-pasv seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-pasv ile devre dışı bırakıp aktif modu (PORT) etkinleştirebilirsiniz.
Örnek: curl --ftp-pasv ftp://example.com/
Ayrıca -P, --ftp-port ve --disable-epsv seçeneklerine bakın.
-P, --ftp-port
Adres şu formatlarda olabilir:
arayüz Belirtilen ağ arayüzünün (örneğin "eth0") IP adresi kullanılır.
IP adresi Belirtilen IPv4 veya IPv6 adresi kullanılır.
ana bilgisayar adı Belirtilen ana bilgisayar adının çözümlenen IP adresi kullanılır.
Tek bir tire işareti ("-") verilirse, curl sistemin otomatik olarak atayacağı varsayılan IP adresini kullanır.
Aktif mod kullanıldığında, sunucunun istemciye geri bağlanabilmesi için istemci tarafındaki güvenlik duvarının ve yönlendiricinin uygun port geçişlerine izin vermesi gerekir.
Eğer --ftp-port birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl -P eth0 ftp://example.com/
Ayrıca --ftp-pasv ve --disable-eprt seçeneklerine bakın.
--ftp-pret (FTP) Sunucudan dosya listesi veya dosya almadan önce PRET (Aktarım Öncesi) komutunun gönderilmesini sağlar. Bu, DrFTPD gibi bazı özel FTP sunucu dağıtımları için gereklidir.
--ftp-pret seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-pret ile tekrar devre dışı bırakın.
Örnek: curl --ftp-pret ftp://example.com/
Ayrıca --ftp-pasv seçeneğine bakın. 7.20.0 sürümünde eklendi.
--ftp-skip-pasv-ip (FTP) Pasif mod (PASV) el sıkışması sırasında sunucu tarafından yanıt içinde gönderilen IP adresini yoksayar ve bağlantıyı kurmak için doğrudan kontrol bağlantısının yapıldığı orijinal IP adresini kullanır. Bu, hatalı yapılandırılmış veya NAT arkasındaki FTP sunucularıyla bağlantı kurarken ortaya çıkan IP uyuşmazlığı sorunlarını önler.
--ftp-skip-pasv-ip seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-skip-pasv-ip ile tekrar devre dışı bırakın.
Örnek: curl --ftp-skip-pasv-ip ftp://example.com/
Ayrıca --ftp-pasv seçeneğine bakın. 7.14.2 sürümünde eklendi.
--ftp-ssl-ccc-mode <aktif/pasif> (FTP) --ftp-ssl-ccc seçeneğiyle birlikte kontrol kanalının şifrelemesi kapatıldıktan sonra kullanılacak modu belirtir.
active Kontrol kanalı kapatma işlemini istemci (curl) başlatır.
passive Kontrol kanalı kapatma işlemini sunucunun başlatması beklenir.
Eğer --ftp-ssl-ccc-mode birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ftp-ssl-ccc --ftp-ssl-ccc-mode active ftps://example.com/
Ayrıca --ftp-ssl-ccc seçeneğine bakın. 7.16.2 sürümünde eklendi.
--ftp-ssl-ccc (FTP) Güvenli FTP (FTPS) bağlantısı kurulduktan ve kullanıcı girişi başarıyla tamamlandıktan sonra, kontrol kanalının (komut kanalı) şifrelemesini kapatarak açık metin durumuna geri döndürür. Bu, şifreli kontrol bağlantılarını takip edemeyen bazı güvenlik duvarlarının veya NAT yönlendiricilerinin FTP veri bağlantılarını kesmesini önlemek için kullanılır. Veri kanalı (dosya aktarımı) şifreli kalmaya devam edebilir.
--ftp-ssl-ccc seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-ssl-ccc ile tekrar devre dışı bırakın.
Örnek: curl --ftp-ssl-ccc ftps://example.com/
Ayrıca --ftp-ssl-ccc-mode ve --ssl seçeneklerine bakın. 7.16.1 sürümünde eklendi.
--ftp-ssl-control (FTP) Dosya aktarım kanalı şifresiz olsa bile, kullanıcı adı ve şifre gibi hassas bilgilerin geçtiği FTP kontrol kanalının (komut kanalı) mutlaka SSL/TLS ile şifrelenmesini zorunlu kılar.
--ftp-ssl-control seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ftp-ssl-control ile tekrar devre dışı bırakın.
Örnek: curl --ftp-ssl-control ftp://example.com/
Ayrıca --ssl ve --ftp-ssl-ccc seçeneklerine bakın. 7.16.0 sürümünde eklendi.
-G, --get (HTTP) Bu seçenek kullanıldığında, -d, --data, --data-binary veya --data-urlencode seçenekleriyle belirtilen tüm veriler HTTP POST isteğiyle gönderilmek yerine, istek URL'sinin sonuna bir soru işareti ("?") konularak sorgu dizesi (query string) olarak eklenir ve istek yöntemi GET olarak zorlanır.
Bu seçenek, POST form verilerini hızlıca bir GET URL'sine dönüştürmek için oldukça kullanışlıdır.
--get seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-get ile tekrar devre dışı bırakın.
Örnek: curl -G -d "kategori=kitap" -d "sayfa=2" https://example.com/arama
Ayrıca -d, --data ve --url-query seçeneklerine bakın.
-g, --globoff
curl'ün URL'lerde süslü parantez {} veya köşeli parantez [] karakterlerini algılayarak yaptığı dosya seçimi (globbing) özelliğini devre dışı bırakır. Bu seçenek etkinleştirildiğinde, bu karakterleri barındıran URL'ler doğrudan olduğu gibi sunucuya iletilir.
--globoff seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-globoff ile tekrar devre dışı bırakın.
Örnek: curl -g "https://example.com/api/[v1]/data"
Ayrıca --url seçeneğine bakın.
--happy-eyeballs-timeout-ms
Varsayılan gecikme süresi 200 milisaniyedir.
Eğer --happy-eyeballs-timeout-ms birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --happy-eyeballs-timeout-ms 300 https://example.com
Ayrıca --connect-timeout seçeneğine bakın. 7.59.0 sürümünde eklendi.
--haproxy-clientip
Eğer --haproxy-clientip birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --haproxy-protocol --haproxy-clientip 1.2.3.4 https://example.com
Ayrıca --haproxy-protocol seçeneğine bakın. 8.1.0 sürümünde eklendi.
--haproxy-protocol (HTTP) Sunucuya bağlanırken bağlantının başına bir HAProxy PROXY protokolü (versiyon 1) başlığı ekler. Bu, curl'ün bir proxy veya yük dengeleyici (load balancer) arkasındaki sunucuya istemcinin gerçek bağlantı bilgilerini iletmesini sağlar.
--haproxy-protocol seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-haproxy-protocol ile tekrar devre dışı bırakın.
Örnek: curl --haproxy-protocol https://example.com
Ayrıca --haproxy-clientip seçeneğine bakın. 7.60.0 sürümünde eklendi.
-I, --head (HTTP FTP FILE) Sadece belgenin üst bilgilerini (headers / metadata) alır ve görüntüler. HTTP için bu seçenek istek yöntemini HEAD olarak ayarlar ve sunucu yanıtının gövde (body) kısmını almaz. FTP veya yerel FILE için ise dosya boyutunu ve değişiklik zamanı gibi bilgileri görüntüler.
Bu seçenek globaldir.
--head seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-head ile tekrar devre dışı bırakın.
Örnek: curl -I https://example.com
Ayrıca -i, --include ve -X, --request seçeneklerine bakın.
-H, --header <üst bilgi> (HTTP) HTTP sunucusuna gönderilecek isteğe özel bir üst bilgi (header) ekler veya mevcut bir üst bilgiyi değiştirir. Üst bilgi "Isim: Deger" formatında olmalıdır.
Aşağıdaki özel kullanımlar mevcuttur:
- Mevcut bir üst bilgiyi tamamen kaldırmak için değer kısmını boş bırakın, örneğin:
-H "User-Agent:". - Boş değerli bir üst bilgi göndermek için iki nokta üst üsteden sonra tek bir boşluk bırakın, örneğin:
-H "X-Custom-Header: ". - curl'ün dahili olarak eklediği bazı üst bilgileri (örneğin Host, Content-Type, Accept) bu seçeneği kullanarak değiştirebilirsiniz.
Bu seçenek kullanılarak eklenen üst bilgiler, takip edilen yönlendirmelerde (-L, --location) başka ana bilgisayarlara da gönderilebilir; bu durum güvenlik hassasiyeti oluşturuyorsa --header seçeneğini dikkatli kullanın veya --proxy-header seçeneğine bakın.
-H, --header seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -H "X-My-Header: 123" -H "Content-Type: application/json" https://example.com curl -H "Host: custom.example.com" https://10.1.2.3/
Ayrıca --proxy-header ve -A, --user-agent seçeneklerine bakın.
-h, --help
Kategori belirtilirse, yalnızca o kategoriye ait seçeneklerin yardım bilgilerini görüntüler. Desteklenen kategoriler: important, all, category_name (örneğin dns, http, tls, ftp vb.).
Bu seçenek globaldir.
--help bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -h curl -h http curl -h tls
Ayrıca -V, --version seçeneğine bakın.
--opt-pubmd5
Eğer --hostpubmd5 birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --hostpubmd5 1234567890abcdef1234567890abcdef sftp://example.com/
Ayrıca --hostpubsha256 ve --insecure seçeneklerine bakın. 7.17.1 sürümünde eklendi.
--hostpubsha256
Eğer --hostpubsha256 birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --hostpubsha256 "base64-kodlu-sha256-degeri=" sftp://example.com/
Ayrıca --hostpubmd5 ve --insecure seçeneklerine bakın. 7.84.0 sürümünde eklendi.
--hsts <dosya adı> (HTTP) HSTS (HTTP Strict Transport Security) desteğini etkinleştirir. Belirtilen dosya adı mevcut bir HSTS önbellek dosyasına işaret ediyorsa, bu dosyadaki kurallar yüklenir. İşlemler bittikten sonra önbellekteki güncel durum bu dosyaya kaydedilir.
Önbelleği yalnızca bellekte tutmak ve dosyaya yazılmasını/okunmasını engellemek için dosya adını "" (boş dize) olarak ayarlayabilirsiniz.
Eğer --hsts birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --hsts hsts.txt https://example.com
Ayrıca --alt-svc seçeneğine bakın. 7.74.0 sürümünde eklendi.
--http0.9 (HTTP) HTTP sürüm 0.9 yanıtlarının kabul edilmesini sağlar. HTTP 0.9, sunucunun yanıtın başında hiçbir HTTP başlığı döndürmeden doğrudan veriyi gönderdiği çok eski bir protokoldür. curl normalde bunu varsayılan olarak reddeder, ancak bu seçenekle kabul eder.
--http0.9 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-http0.9 ile tekrar devre dışı bırakın.
Örnek: curl --http0.9 https://example.com
Ayrıca --http1.0 ve --http1.1 seçeneklerine bakın. 7.66.0 sürümünde eklendi.
-0, --http1.0 (HTTP) HTTP isteklerinin HTTP 1.0 protokolü kullanılarak yapılmasını zorlar. Varsayılan olarak curl HTTP 1.1 veya daha yeni protokolleri tercih eder.
--http1.0 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -0 https://example.com
Ayrıca --http1.1 ve --http2 seçeneklerine bakın.
--http1.1 (HTTP) HTTP isteklerinin HTTP 1.1 protokolü kullanılarak yapılmasını zorlar.
--http1.1 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --http1.1 https://example.com
Ayrıca -0, --http1.0 ve --http2 seçeneklerine bakın. 7.33.0 sürümünde eklendi.
--http2-prior-knowledge (HTTP) curl'ün sunucuyla önceden anlaşma veya yükseltme (Upgrade) yapmadan doğrudan HTTP/2 (Cleartext) protokolünü konuşmaya başlamasını sağlar. Bu, sunucunun HTTP/2 desteklediği kesin olarak bilindiğinde TCP bağlantısı üzerinden doğrudan HTTP/2 konuşmak için kullanılır.
--http2-prior-knowledge seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-http2-prior-knowledge ile tekrar devre dışı bırakın.
Örnek: curl --http2-prior-knowledge http://example.com/
Ayrıca --http2 seçeneğine bakın. 7.49.0 sürümünde eklendi.
--http2 (HTTP) curl'ün HTTP/2 protokolünü kullanmaya çalışmasını sağlar. HTTPS bağlantılarında bu, ALPN uzantısı kullanılarak sunucuyla HTTP/2 anlaşması yapılarak gerçekleştirilir. HTTP bağlantılarında ise "Upgrade: h2c" üst bilgiyle geçiş denenir.
--http2 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-http2 ile tekrar devre dışı bırakın.
Örnek: curl --http2 https://example.com
Ayrıca --http2-prior-knowledge ve --http3 seçeneklerine bakın. 7.33.0 sürümünde eklendi.
--http3-only (HTTP) curl'ün yalnızca HTTP/3 protokolünü kullanmaya çalışmasını sağlar. Eğer sunucuyla HTTP/3 bağlantısı (QUIC üzerinden) kurulamazsa, HTTP/2 veya HTTP/1.1 gibi daha eski protokollerle bağlantıyı denemez ve doğrudan hata vererek başarısız olur.
--http3-only seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-http3-only ile tekrar devre dışı bırakın.
Örnek: curl --http3-only https://example.com
Ayrıca --http3 ve --http2 seçeneklerine bakın. 8.4.0 sürümünde eklendi.
--http3 (HTTP) curl'ün sunucuyla HTTP/3 protokolünü (QUIC üzerinden) kullanmaya çalışmasını sağlar. Bağlantı önce HTTP/3 ile denenir; sunucu HTTP/3 desteklemiyorsa otomatik olarak HTTP/2 veya HTTP/1.1 gibi desteklenen diğer protokollere geri döner (fall back).
--http3 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-http3 ile tekrar devre dışı bırakın.
Örnek: curl --http3 https://example.com
Ayrıca --http3-only ve --http2 seçeneklerine bakın. 7.66.0 sürümünde eklendi.
--ignore-content-length (HTTP FTP) Sunucu tarafından gönderilen "Content-Length" (İçerik Uzunluğu) yanıt üst bilgisini yoksayar. Bu, hatalı veya yanlış Content-Length değeri bildiren ve bu yüzden aktarımın erken kesilmesine ya da asılı kalmasına yol açan sunucularla çalışırken faydalıdır. curl bu seçenekle dosyanın sonunu bulmak için doğrudan bağlantının kapanmasını bekler.
--ignore-content-length seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ignore-content-length ile tekrar devre dışı bırakın.
Örnek: curl --ignore-content-length https://example.com
Ayrıca -i, --include seçeneğine bakın. 7.14.1 sürümünde eklendi.
-i, --include (HTTP FTP) Sunucudan gelen protokol üst bilgilerini (HTTP yanıt başlıkları veya FTP durum yanıtları) alınan dosya içeriğiyle birlikte çıktıya dahil eder. Üst bilgiler dosya içeriğinin hemen önünde görüntülenir.
-i, --include seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-include ile tekrar devre dışı bırakın.
Örnek: curl -i https://example.com
Ayrıca -I, --head ve -D, --dump-header seçeneklerine bakın.
-k, --insecure (TLS SFTP SCP) curl'ün SSL/TLS sertifikası ve anahtar doğrulamalarını atlayarak güvenli olmayan bağlantılar kurmasını sağlar. Bu seçenek, geçersiz, süresi dolmuş veya kendi kendine imzalanmış (self-signed) sertifikalara sahip test sunucularına HTTPS üzerinden bağlanırken kullanışlıdır.
WARNING: Bu seçenek veri aktarımının güvenliğini ve gizliliğini ciddi şekilde tehlikeye atar. Üretim ortamlarında kesinlikle kullanılmamalıdır.
--insecure seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-insecure ile tekrar devre dışı bırakın.
Örnek: curl -k https://test-server.local/
Ayrıca --cacert ve --proxy-insecure seçeneklerine bakın.
--interface <arayüz> Bağlantıyı kurmak için kullanılacak yerel ağ arayüzünü, IP adresini veya ana bilgisayar adını belirtir.
Aşağıdaki formatlarda kullanılabilir:
eth0 Arayüz adı belirtilir.
192.168.1.100 Belirtilen IP adresi yerel adres olarak kullanılır.
hostname Belirtilen yerel ana bilgisayar adı çözümlenerek kullanılır.
Eğer --interface birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --interface eth1 https://example.com
Ayrıca --local-port seçeneğine bakın.
--ipfs-gateway ipfs:// veya ipns:// protokollerine sahip URL'ler istendiğinde, curl bu ağ geçidi URL'sini kullanarak verileri çeker.
Eğer --ipfs-gateway birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --ipfs-gateway https://ipfs.io ipfs://bafybeigdyrzt5sbi7e3f43jhwb75752n/
Ayrıca --url seçeneğine bakın. 8.4.0 sürümünde eklendi.
-4, --ipv4 curl'ün ana bilgisayar adlarını çözümlerken yalnızca IPv4 adreslerini kullanmasını sağlar. Hem IPv4 hem de IPv6 desteği olan sistemlerde IPv6 çözünürlüklerini devre dışı bırakır.
--ipv4 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -4 https://example.com
Ayrıca -6, --ipv6 seçeneğine bakın.
-6, --ipv6 curl'ün ana bilgisayar adlarını çözümlerken yalnızca IPv6 adreslerini kullanmasını sağlar. Hem IPv4 hem de IPv6 desteği olan sistemlerde IPv4 çözünürlüklerini devre dışı bırakır.
--ipv6 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -6 https://example.com
Ayrıca -4, --ipv4 seçeneğine bakın.
--json Content-Type: application/json
Accept: application/json
Veri olarak bir dosya içeriği göndermek istiyorsanız @dosya formatını kullanabilirsiniz.
--json bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --json '{"kullanici": "ben", "rol": "admin"}' https://example.com/api
Ayrıca -d, --data ve -H, --header seçeneklerine bakın. 7.82.0 sürümünde eklendi.
-j, --junk-session-cookies (HTTP) Belirtilen bir çerez dosyasından çerezler okunurken (-b, --cookie), dosyadaki oturum çerezlerini (tarayıcı kapandığında silinmesi gereken, son kullanma tarihi olmayan çerezler) yoksayar ve içeriğe dahil etmez.
--junk-session-cookies seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-junk-session-cookies ile tekrar devre dışı bırakın.
Örnek: curl -j -b cerekler.txt https://example.com
Ayrıca -b, --cookie ve -c, --cookie-jar seçeneklerine bakın.
--keepalive-time
Varsayılan süre 60 saniyedir. TCP keepalive özelliğini tamamen kapatmak için --no-keepalive seçeneğine bakın.
Eğer --keepalive-time birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --keepalive-time 120 https://example.com
Ayrıca --no-keepalive seçeneğine bakın. 7.18.0 sürümünde eklendi.
--key-type <tür> (TLS) Özel anahtarın türünü belirtir. PEM, DER ve ENG desteklenen anahtar türleridir.
Varsayılan tür PEM'dir.
Eğer --key-type birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --key-type DER --key ozelanahtar https://example.com
Ayrıca --key ve --cert-type seçeneklerine bakın.
--key
İstemci sertifikasını belirtmek için -E, --cert seçeneğine bakın. Eğer özel anahtar sertifika dosyasının içinde zaten mevcutsa bu seçeneğin kullanılmasına gerek yoktur.
Eğer --key birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --key ozelanahtar.pem --cert sertifika.pem https://example.com
Ayrıca --key-type ve -E, --cert seçeneklerine bakın.
--krb
clear Şifreleme yapılmaz (sadece kimlik doğrulama).
safe Bütünlük koruması (veriler imzalanır ancak şifrelenmez).
confidential Gizlilik koruması (veriler tamamen şifrelenir).
private Gizlilik koruması (veriler tamamen şifrelenir).
Güvenlik seviyesi olarak Kerberos tarafından desteklenen başka bir değer de belirtilebilir.
Eğer --krb birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --krb private ftp://example.com/
Ayrıca -u, --user seçeneğine bakın.
--libcurl
Bu seçenek globaldir.
Eğer --libcurl birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --libcurl kodum.c https://example.com
Ayrıca -v, --verbose seçeneğine bakın. 7.16.1 sürümünde eklendi.
--limit-rate <hız> curl'ün veri aktarım hızını (hem indirme hem yükleme için) belirtilen maksimum hızla sınırlar.
Hız değeri saniyede bayt cinsinden belirtilir. Sayının sonuna şu ekler getirilebilir:
B veya ek yok Saniyede bayt.
k veya K Saniyede kilobayt (1024 bayt).
m veya M Saniyede megabayt (1048576 bayt).
g veya G Saniyede gigabayt.
t veya T Saniyede terabayt.
Örneğin, "100k" saniyede 100 kilobayt sınırı koyar.
Bu sınır bireysel aktarımlar için geçerlidir, paralel aktarımlarda (-Z, --parallel) her bir aktarım bu hızla ayrı ayrı sınırlanabilir.
Eğer --limit-rate birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --limit-rate 250k https://example.com
Ayrıca --rate ve --connect-timeout seçeneklerine bakın.
-l, --list-only (FTP SFTP) FTP dizin listesi alırken, dosya boyutları ve tarihleri gibi ek bilgileri içermeyen, yalnızca dosya ve dizin adlarından oluşan sade bir liste döndürülmesini sağlar.
--list-only seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-list-only ile tekrar devre dışı bırakın.
Örnek: curl -l ftp://example.com/dizin/
Ayrıca -X, --request seçeneğine bakın.
--local-port <numara/aralık> Bağlantı kurarken curl'ün yerel tarafında kullanılacak kaynak port numarasını veya port aralığını belirtir. Port aralıkları "1025-1030" şeklinde belirtilebilir.
Sistemde belirtilen portlar kullanımda ise bağlantı başarısız olabilir.
Eğer --local-port birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --local-port 5000-5050 https://example.com
Ayrıca --interface seçeneğine bakın. 7.15.2 sürümünde eklendi.
--location-trusted (HTTP) Tıpkı -L, --location seçeneği gibi yönlendirmeleri takip eder, ancak yönlendirme yapılan sunucu farklı bir ana bilgisayar (host) olsa bile kullanıcı adı ve şifre bilgilerini (Basic kimlik doğrulama başlığını) o sunucuya da göndermeye devam eder.
WARNING: Bu seçenek kullanıcı kimlik bilgilerinin üçüncü taraf veya güvenli olmayan sunuculara sızmasına yol açabileceği için güvenlik riski taşır.
--location-trusted seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-location-trusted ile tekrar devre dışı bırakın.
Örnek: curl --location-trusted -u kullanıcı:sifre -L https://example.com
Ayrıca -L, --location ve --header seçeneklerine bakın.
-L, --location (HTTP) Sunucu 3xx yönlendirme (redirection) durum kodları (örneğin 301 Moved Permanently veya 302 Found) döndürdüğünde, curl'ün yeni konumu gösteren "Location" üst bilgisindeki URL'yi otomatik olarak takip etmesini sağlar. Yönlendirmeler zincirleme olabilir, curl hedefe ulaşana kadar takip etmeye devam eder.
Takip edilecek maksimum yönlendirme sayısını sınırlandırmak için --max-redirs seçeneğine bakın.
Farklı ana bilgisayarlara yapılan yönlendirmelerde hassas kimlik bilgilerinin gönderilmesini engellemek için --location-trusted seçeneğine bakın.
--location seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-location ile tekrar devre dışı bırakın.
Örnek: curl -L http://google.com/
Ayrıca --max-redirs ve --location-trusted seçeneklerine bakın.
--login-options <seçenekler> (IMAP POP3 SMTP) Sunucuya giriş yaparken kullanılacak özel oturum açma seçeneklerini (login options) belirtir. Örneğin, belirli bir kimlik doğrulama mekanizmasını zorlamak için kullanılabilir: "AUTH=NTLM" veya "AUTH=*".
Eğer --login-options birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --login-options "AUTH=PLUR" imap://example.com/
Ayrıca --sasl-authzid seçeneğine bakın. 7.34.0 sürümünde eklendi.
--mail-auth
Eğer --mail-auth birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --mail-auth "gonderen@example.com" --mail-from "robot@example.com" -T eposta.txt smtps://example.com/
Ayrıca --mail-from ve --mail-rcpt seçeneklerine bakın. 7.25.0 sürümünde eklendi.
--mail-from
Eğer --mail-from birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --mail-from "ben@example.com" -T eposta.txt smtps://example.com/
Ayrıca --mail-rcpt ve --mail-auth seçeneklerine bakın. 7.20.0 sürümünde eklendi.
--mail-rcpt-allowfails (SMTP) Birden fazla alıcıya e-posta gönderilirken, bazı alıcı adresleri sunucu tarafından reddedilse bile curl'ün gönderim işlemini iptal etmeyip, kabul edilen diğer alıcılara e-postayı göndermeye devam etmesini sağlar.
--mail-rcpt-allowfails seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-mail-rcpt-allowfails ile tekrar devre dışı bırakın.
Örnek: curl --mail-rcpt-allowfails --mail-rcpt "a@ex.com" --mail-rcpt "hatali@ex.com" -T eposta.txt smtps://example.com/
Ayrıca --mail-rcpt seçeneğine bakın. 7.69.0 sürümünde eklendi.
--mail-rcpt
Birden fazla alıcı belirtmek için bu seçenek komut satırında birkaç kez kullanılabilir.
Örnek: curl --mail-rcpt "alici1@example.com" --mail-rcpt "alici2@example.com" -T eposta.txt smtps://example.com/
Ayrıca --mail-from ve --mail-rcpt-allowfails seçeneklerine bakın. 7.20.0 sürümünde eklendi.
-M, --manual curl'ün detaylı kullanım kılavuzunu (manual) ekrana yazdırır. Bu kılavuz, tüm seçeneklerin ve protokollerin ayrıntılı açıklamalarını ve örneklerini içerir.
Bu seçenek globaldir.
--manual seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -M
Ayrıca -h, --help seçeneğine bakın.
--max-filesize
Dosya boyutu sunucu tarafından bilinmiyorsa (Content-Length gönderilmediyse), curl aktarımı başlatır ancak aktarılan veri miktarı bu sınırı aştığı an aktarım kesilir ve hata verilir.
Eğer --max-filesize birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --max-filesize 5242880 https://example.com
Ayrıca --limit-rate seçeneğine bakın.
--max-redirs <sayı> (HTTP) Takip edilecek maksimum yönlendirme (redirection) sayısını sınırlar. Bu seçenek, sonsuz yönlendirme döngülerini (redirect loops) önlemek için kullanışlıdır.
Varsayılan maksimum yönlendirme sınırı 50'dir. Sınırı tamamen kaldırmak için -1 değerini ayarlayabilirsiniz.
Eğer --max-redirs birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --max-redirs 10 -L http://example.com/
Ayrıca -L, --location seçeneğine bakın.
-m, --max-time
Bu seçenek ondalık değerleri kabul eder (örneğin 5.5 saniye).
Eğer --max-time birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --max-time 10 https://example.com curl --max-time 0.5 https://example.com
Ayrıca --connect-timeout seçeneğine bakın.
--metalink Bu seçenek artık kullanılmamaktadır ve yoksayılır (7.77.0 sürümünde eklendi). Metalink XML dosyalarını indirmek ve doğrulamak için kullanılırdı.
Örnek: curl --metalink dosya.metalink
--negotiate (HTTP) HTTP Negotiate (SPNEGO) kimlik doğrulamasını etkinleştirir. Bu, Microsoft Active Directory veya Kerberos tabanlı tek oturum açma (SSO) altyapılarında yaygın olarak kullanılır.
-u, --user ile birlikte kullanılır.
--negotiate seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --negotiate -u : https://example.com/
Ayrıca --digest, --ntlm ve --delegation seçeneklerine bakın.
--netrc-file <dosya adı> Kullanıcı adı ve şifre gibi kimlik bilgilerinin okunacağı özel bir netrc dosyası belirtir. Bu seçenek -n, --netrc seçeneğini otomatik olarak etkinleştirir.
Eğer --netrc-file birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --netrc-file ozel-netrc https://example.com
Ayrıca -n, --netrc seçeneğine bakın. 7.21.5 sürümünde eklendi.
--netrc-optional netrc dosyasının kullanımını isteğe bağlı hale getirir. netrc dosyasında ilgili sunucu için kimlik bilgisi bulunamazsa, curl hata vermek yerine işleme devam eder (gerekirse anonim giriş yapar veya komut satırındaki diğer bilgileri kullanır).
--netrc-optional seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-netrc-optional ile tekrar devre dışı bırakın.
Örnek: curl --netrc-optional https://example.com
Ayrıca -n, --netrc ve --netrc-file seçeneklerine bakın.
-n, --netrc
curl'ün sunucu kimlik doğrulaması (kullanıcı adı ve şifre) için kullanıcının ev dizinindeki .netrc (Windows sistemlerde _netrc) dosyasını taramasını sağlar.
Dosya içinde makine adına göre eşleşen satırlardaki kimlik bilgileri otomatik olarak kullanılır.
--netrc seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-netrc ile tekrar devre dışı bırakın.
Örnek: curl -n https://example.com
Ayrıca --netrc-file ve --netrc-optional seçeneklerine bakın.
-:, --next curl'ün komut satırı seçeneklerini sıfırlamasını ve sonraki URL'ler için yeni bir "istek grubu" başlatmasını sağlar. Bu sayede tek bir curl çalıştırmasında, tamamen farklı seçeneklere (farklı kimlik bilgilerini, üst bilgiler, veri gövdeleri vb.) sahip birden fazla bağımsız istek arka arkaya gerçekleştirilebilir.
Bazı global seçenekler --next sonrasında da değerlerini korurlar (bunlar seçenekler listesinin giriş kısmında belirtilmiştir).
Örnek: curl https://site1.com -H "X-Head: 1" -: https://site2.com -d "veri=2"
Ayrıca --url seçeneğine bakın. 7.36.0 sürümünde eklendi.
--no-alpn (TLS) TLS el sıkışması sırasında ALPN (Uygulama Katmanı Protokol Anlaşması) uzantısının gönderilmesini devre dışı bırakır. ALPN, sunucuyla HTTP/2 veya HTTP/3 gibi protokollerin anlaşmasını yapmak için kullanılır. Devre dışı bırakıldığında yalnızca HTTP/1.1 kullanılabilir.
--no-alpn seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --no-alpn https://example.com
Ayrıca --no-npn ve --http2 seçeneklerine bakın. 7.36.0 sürümünde eklendi.
-N, --no-buffer curl'ün standart çıktıya yazarken kullandığı arabelleğe alma (buffering) mekanizmasını devre dışı bırakır. Bu seçenekle, sunucudan gelen her veri bloğu alınır alınmaz anında standart çıktıya (stdout) yazılır; böylece verilerin ekranda gecikmeli görünmesi önlenir.
--no-buffer seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-keepalive ile karıştırmayın.
Örnek: curl -N https://example.com
Ayrıca --stderr seçeneğine bakın.
--no-clobber Çıktı dosyaları yerel diskte zaten mevcutsa, bunların üzerine yazılmasını (overwrite) engeller. Bu seçenek etkinleştirildiğinde ve belirtilen dosya zaten mevcutsa, curl hata verir ve aktarımı durdurur.
--no-clobber seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --no-clobber -o yerel-dosya.txt https://example.com
Ayrıca -o, --output seçeneğine bakın. 8.3.0 sürümünde eklendi.
--no-keepalive TCP bağlantılarında keepalive (bağlantıda kalma) paketlerinin gönderilmesini devre dışı bırakır. Bu, boşta kalan TCP bağlantılarının açık tutulmasını engeller.
--no-keepalive seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --no-keepalive https://example.com
Ayrıca --keepalive-time seçeneğine bakın. 7.18.0 sürümünde eklendi.
--no-npn (TLS) TLS el sıkışması sırasında NPN (Sonraki Protokol Anlaşması) uzantısının gönderilmesini devre dışı bırakır. NPN, ALPN gibi HTTP/2 anlaşması için kullanılan eski bir yöntemdir.
--no-npn seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --no-npn https://example.com
Ayrıca --no-alpn seçeneğine bakın. 7.36.0 sürümünde eklendi.
--no-progress-meter İşlemler sırasında ilerleme ölçerin (progress meter) görüntülenmesini devre dışı bırakır. Tıpkı -s, --silent gibi çalışır ancak hata mesajlarının gösterilmeye devam etmesini sağlar.
--no-progress-meter seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-no-progress-meter ile tekrar etkinleştirin.
Örnek: curl --no-progress-meter -o dosya https://example.com
Ayrıca -s, --silent ve -#, --progress-bar seçeneklerine bakın. 7.67.0 sürümünde eklendi.
--no-sessionid (TLS) SSL/TLS oturum kimliği (session ID) önbelleğe alma özelliğini devre dışı bırakır. Varsayılan olarak curl bağlantı sürelerini kısaltmak için TLS oturum kimliklerini önbelleğe alır ve yeniden kullanır.
--no-sessionid seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --no-sessionid https://example.com
Ayrıca --insecure seçeneğine bakın. 7.16.0 sürümünde eklendi.
--noproxy
Herhangi bir proxy kullanılmasını tamamen engellemek için "*" değeri belirtilebilir.
Eğer --noproxy birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --noproxy "localhost,internal.domain" -x http://proxy.com https://example.com
Ayrıca -x, --proxy ve --noproxy seçeneklerine bakın. 7.19.4 sürümünde eklendi.
--ntlm-wb (HTTP) NTLM kimlik doğrulaması işlemlerini yerel winbind helper yardımcı programına delege ederek gerçekleştirir.
--ntlm-wb seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --ntlm-wb -u : https://example.com/
Ayrıca --ntlm seçeneğine bakın. 7.22.0 sürümünde eklendi.
--ntlm (HTTP) HTTP NTLM kimlik doğrulamasını etkinleştirir. Bu, özellikle Microsoft IIS ve Sharepoint gibi sunucularla kimlik doğrulaması yaparken kullanılır.
-u, --user ile birlikte kullanılır.
--ntlm seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --ntlm -u kullanıcı:sifre https://example.com
Ayrıca --basic, --digest ve --negotiate seçeneklerine bakın.
--oauth2-bearer
Eğer --oauth2-bearer birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --oauth2-bearer "myaffectiveoauthtoken" https://example.com/
Ayrıca -u, --user seçeneğine bakın. 7.33.0 sürümünde eklendi.
--output-dir
Eğer --output-dir birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --output-dir /downloads/ -O https://example.com/image.png
Ayrıca -o, --output ve --create-dirs seçeneklerine bakın. 7.73.0 sürümünde eklendi.
-o, --output
Dosyayı üzerine yazmak yerine sonuna eklemek için --append seçeneğine bakın. Mevcut dosyaların korunması için --no-clobber seçeneğine bakın.
Eğer komut satırında birden fazla URL belirtilirse, her bir URL için ayrı bir -o, --output seçeneği belirtilebilir.
Eğer --output birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl -o sayfa.html https://example.com
Ayrıca -O, --remote-name ve --output-dir seçeneklerine bakın.
--parallel-immediate Paralel aktarımlar (-Z, --parallel) kullanılırken, curl'ün yeni bağlantılar kurup aktarımları hemen başlatmasını sağlar. Varsayılan olarak curl, bağlantı havuzunun dolmasını veya mevcut bağlantıların serbest kalmasını bekleyebilir.
Bu seçenek globaldir.
--parallel-immediate seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --parallel --parallel-immediate -O http://ex1.com -O http://ex2.com
Ayrıca -Z, --parallel seçeneğine bakın. 7.76.0 sürümünde eklendi.
--parallel-max <sayı> Paralel aktarımlar (-Z, --parallel) kullanılırken, aynı anda gerçekleştirilecek maksimum paralel bağlantı/aktarım sayısını belirtir.
Varsayılan maksimum sınır 50'dir.
Eğer --parallel-max birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --parallel --parallel-max 10 -O http://ex1.com ...
Ayrıca -Z, --parallel seçeneğine bakın. 7.66.0 sürümünde eklendi.
-Z, --parallel curl'ün belirtilen tüm URL'leri ardışık olarak değil, aynı anda (paralel olarak) indirmesini sağlar. Bu, çok sayıda küçük dosya indirilirken toplam aktarım süresini dramatik şekilde azaltır.
Bu seçenek globaldir.
--parallel seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-parallel ile tekrar devre dışı bırakın.
Örnek: curl -Z -O http://site1.com/dosya1.txt -O http://site2.com/dosya2.txt
Ayrıca --parallel-max ve --parallel-immediate seçeneklerine bakın. 7.66.0 sürümünde eklendi.
--pass <şifre> (TLS) Özel anahtar dosyasını açmak için kullanılacak şifreyi (passphrase) belirtir.
Eğer --pass birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --pass "anahtarşifresi" --key ozel.key --cert sert.pem https://example.com
Ayrıca --key ve -E, --cert seçeneklerine bakın.
--path-as-is URL yolundaki "." (geçerli dizin) veya ".." (üst dizin) gibi göreceli referansların curl tarafından çözümlenmesini ve temizlenmesini engeller. URL yolu olduğu gibi doğrudan sunucuya iletilir.
--path-as-is seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-path-as-is ile tekrar devre dışı bırakın.
Örnek: curl --path-as-is https://example.com/api/../v2/
Ayrıca --url seçeneğine bakın. 7.42.0 sürümünde eklendi.
--pinnedpubkey <anahtarlar/dosya> (TLS) Sunucunun ortak anahtarının (public key) doğrulanacağı beklenen değerleri belirtir. PEM veya DER formatındaki bir ortak anahtar dosyasının yolu veya "sha256//" ön ekiyle başlayan Base64 kodlu SHA256 parmak izlerinin listesi (noktalı virgülle ayrılmış) belirtilebilir.
Bağlantı sırasında sunucu tarafından sunulan ortak anahtar bu değerlerle tam olarak eşleşmezse curl bağlantıyı keser ve hata verir.
Eğer --pinnedpubkey birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --pinnedpubkey anahtar.pem https://example.com curl --pinnedpubkey "sha256//Base64Değeri=;sha256//DiğerBase64=" https://example.com
Ayrıca --cacert seçeneğine bakın. 7.39.0 sürümünde eklendi.
--post301 (HTTP) Sunucu 301 Moved Permanently durum koduyla yönlendirme yaptığında, curl'ün isteği standart HTTP/1.1 spesifikasyonu dışına çıkarak POST yöntemiyle yapmaya devam etmesini sağlar. Normalde tarayıcılar ve istemciler yönlendirmelerde yöntemi GET olarak değiştirirler.
--post301 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --post301 -L -d "veri=1" http://example.com/
Ayrıca -L, --location ve --post302 seçeneklerine bakın. 7.17.1 sürümünde eklendi.
--post302 (HTTP) Sunucu 302 Found durum koduyla yönlendirme yaptığında, curl'ün isteği POST yöntemiyle yapmaya devam etmesini sağlar.
--post302 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --post302 -L -d "veri=1" http://example.com/
Ayrıca -L, --location ve --post301 seçeneklerine bakın. 7.19.1 sürümünde eklendi.
--post303 (HTTP) Sunucu 303 See Other durum koduyla yönlendirme yaptığında, curl'ün isteği POST yöntemiyle yapmaya devam etmesini sağlar.
--post303 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --post303 -L -d "veri=1" http://example.com/
Ayrıca -L, --location ve --post301 seçeneklerine bakın. 7.26.0 sürümünde eklendi.
--preproxy [protokol://]ana_bilgisayar[:port] Belirtilen SOCKS proxy'sini bir "ön proxy" (pre-proxy) olarak kullanır. curl önce bu SOCKS proxy'sine bağlanır ve ardından bu kanal üzerinden asıl HTTP/HTTPS proxy'sine (-x, --proxy) bağlantı kurar.
Eğer --preproxy birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --preproxy socks5://localhost:9050 -x http://proxy.com https://example.com
Ayrıca -x, --proxy ve --socks5 seçeneklerine bakın. 7.52.0 sürümünde eklendi.
-#, --progress-bar İlerleme bilgilerini detaylı bir tablo yerine sade ve grafiksel bir ilerleme çubuğu (progress bar) şeklinde görüntüler.
Bu seçenek globaldir.
--progress-bar seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-progress-bar ile tekrar devre dışı bırakıp standart ilerleme ölçerine dönebilirsiniz.
Örnek: curl -# -O https://example.com/huge-file.zip
Ayrıca --no-progress-meter seçeneğine bakın.
--proto-default
Eğer --proto-default birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proto-default https example.com
Ayrıca --proto seçeneğine bakın. 7.45.0 sürümünde eklendi.
--proto-redir
Eğer --proto-redir birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proto-redir "https" -L http://example.com/
Ayrıca --proto ve -L, --location seçeneklerine bakın. 7.20.2 sürümünde eklendi.
--proto
Örneğin, yalnızca HTTP ve HTTPS protokollerine izin vermek için: --proto "=http,https".
FTP protokolünü devre dışı bırakmak için: --proto "-ftp".
Eğer --proto birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proto "=http,https,sftp" https://example.com
Ayrıca --proto-default ve --proto-redir seçeneklerine bakın. 7.20.2 sürümünde eklendi.
--proxy-anyauth (HTTP) Tıpkı --anyauth seçeneği gibi çalışır ancak kimlik doğrulama yönteminin sunucuyla değil, belirtilen proxy sunucusuyla (-x, --proxy) kendi kendine anlaşılmasını sağlar.
--proxy-anyauth seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-anyauth --proxy-user kul:sif -x proxy.com https://example.com
Ayrıca -x, --proxy ve --anyauth seçeneklerine bakın. 7.13.2 sürümünde eklendi.
--proxy-basic (HTTP) Tıpkı --basic seçeneği gibi çalışır ancak belirtilen proxy sunucusuyla HTTP Temel (Basic) kimlik doğrulamasının kullanılmasını zorlar.
--proxy-basic seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-basic --proxy-user kul:sif -x proxy.com https://example.com
Ayrıca -x, --proxy ve --basic seçeneklerine bakın. 7.12.0 sürümünde eklendi.
--proxy-ca-native (TLS) Tıpkı --ca-native seçeneği gibi çalışır ancak HTTPS proxy bağlantıları için yerel işletim sisteminin CA deposunun kullanılmasını sağlar.
--proxy-ca-native seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxy-ca-native ile tekrar devre dışı bırakın.
Örnek: curl --proxy-ca-native -x https://proxy.com https://example.com
Ayrıca --ca-native ve -x, --proxy seçeneklerine bakın. 8.2.0 sürümünde eklendi.
--proxy-cacert
Eğer --proxy-cacert birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-cacert proxy-ca.pem -x https://proxy.com https://example.com
Ayrıca --cacert ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-capath
Eğer --proxy-capath birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-capath /certs/ -x https://proxy.com https://example.com
Ayrıca --capath ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-cert-type <tür> (TLS) Tıpkı --cert-type seçeneği gibi çalışır ancak HTTPS proxy istemci sertifikasının türünü (PEM, DER, P12 vb.) belirtir.
Eğer --proxy-cert-type birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-cert-type PEM --proxy-cert prx.pem -x https://proxy.com https://example.com
Ayrıca --cert-type ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-cert <sertifika[:şifre]> (TLS) Tıpkı -E, --cert seçeneği gibi çalışır ancak HTTPS proxy sunucusuna sunulacak istemci sertifikasını ve şifresini belirtir.
Eğer --proxy-cert birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-cert proxy-sert.pem -x https://proxy.com https://example.com
Ayrıca -E, --cert ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-ciphers <şifreler> (TLS) Tıpkı --ciphers seçeneği gibi çalışır ancak HTTPS proxy bağlantısında kullanılmasına izin verilen SSL/TLS şifrelerinin listesini belirtir.
Eğer --proxy-ciphers birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-ciphers ECDHE-RSA-AES128-GCM-SHA256 -x https://proxy.com https://example.com
Ayrıca --ciphers ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-crlfile
Eğer --proxy-crlfile birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-crlfile prx-crl.pem -x https://proxy.com https://example.com
Ayrıca --crlfile ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-digest (HTTP) Tıpkı --digest seçeneği gibi çalışır ancak proxy sunucusuyla HTTP Digest kimlik doğrulamasının kullanılmasını sağlar.
--proxy-digest seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-digest --proxy-user kul:sif -x proxy.com https://example.com
Ayrıca --digest ve -x, --proxy seçeneklerine bakın. 7.12.0 sürümünde eklendi.
--proxy-header <üst bilgi> (HTTP) Tıpkı -H, --header seçeneği gibi çalışır ancak bu üst bilginin asıl hedef sunucuya değil, yalnızca proxy sunucusuna gönderilen isteğe eklenmesini sağlar.
-proxy-header bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --proxy-header "X-Proxy-Route: A" -x proxy.com https://example.com
Ayrıca -H, --header ve -x, --proxy seçeneklerine bakın. 7.37.0 sürümünde eklendi.
--proxy-http2 (HTTP) curl'e bir HTTPS proxy sunucusuyla HTTP sürüm 2 protokolünü müzakere etmeye çalışmasını söyler. Proxy sunucusu yine de yalnızca HTTP/1.1 sunabilir ve bu durumda curl o sürümü kullanmaya devam eder.
Bu seçeneğin diğer proxy türleri üzerinde hiçbir etkisi yoktur.
--proxy-http2 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxy-http2 ile tekrar devre dışı bırakın.
Örnek: curl --proxy-http2 -x proxy https://example.com
Ayrıca -x, --proxy seçeneğine bakın. --proxy-http2 seçeneği, alttaki libcurl kütüphanesinin HTTP/2 desteğiyle derlenmiş olmasını gerektirir. 8.1.0 sürümünde eklendi.
--proxy-insecure Tıpkı -k, --insecure seçeneği gibi çalışır ancak bu sertifika doğrulama muafiyetinin HTTPS proxy sunucusu bağlantılarında uygulanmasını sağlar.
--proxy-insecure seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxy-insecure ile tekrar devre dışı bırakın.
Örnek: curl --proxy-insecure -x https://proxy https://example.com
Ayrıca -x, --proxy ve -k, --insecure seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-key-type <tür> Tıpkı --key-type seçeneği gibi çalışır ancak HTTPS proxy bağlantısı için istemci özel anahtarının türünü belirtir.
Eğer --proxy-key-type birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-key-type DER --proxy-key anahtar -x https://proxy https://example.com
Ayrıca --proxy-key ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-key
Eğer --proxy-key birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-key prx.key -x https://proxy https://example.com
Ayrıca --proxy-key-type ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-negotiate (HTTP) Proxy sunucusuyla iletişim kurarken HTTP Negotiate (SPNEGO) kimlik doğrulamasının kullanılmasını sağlar. Hedef ana bilgisayarla Negotiate kimlik doğrulaması yapmak için --negotiate seçeneğine bakın.
--proxy-negotiate seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-negotiate --proxy-user kul:sif -x proxy https://example.com
Ayrıca --proxy-anyauth ve --proxy-basic seçeneklerine bakın.
--proxy-ntlm (HTTP) Proxy sunucusuyla iletişim kurarken HTTP NTLM kimlik doğrulamasının kullanılmasını sağlar. Hedef ana bilgisayarla NTLM kimlik doğrulaması yapmak için --ntlm seçeneğine bakın.
--proxy-ntlm seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-ntlm --proxy-user kul:sif -x http://proxy https://example.com
Ayrıca --proxy-negotiate ve --proxy-anyauth seçeneklerine bakın.
--proxy-pass <şifre> Tıpkı --pass seçeneği gibi çalışır ancak HTTPS proxy bağlantısındaki özel anahtarı açacak şifreyi belirtir.
Eğer --proxy-pass birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-pass prxsifre --proxy-key prx.key -x https://proxy https://example.com
Ayrıca -x, --proxy ve --proxy-key seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-pinnedpubkey
Eğer --proxy-pinnedpubkey birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --proxy-pinnedpubkey prx-key.pem https://example.com curl --proxy-pinnedpubkey "sha256//Base64Değeri=" https://example.com
Ayrıca --pinnedpubkey ve -x, --proxy seçeneklerine bakın. 7.59.0 sürümünde eklendi.
--proxy-service-name
Eğer --proxy-service-name birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-service-name "shrubbery" -x proxy https://example.com
Ayrıca --service-name ve -x, --proxy seçeneklerine bakın.
--proxy-ssl-allow-beast Tıpkı --ssl-allow-beast seçeneği gibi çalışır ancak HTTPS proxy bağlantılarında BEAST güvenlik açığına karşı uygulanan geçici çözümlerin kapatılmasını sağlar.
--proxy-ssl-allow-beast seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxy-ssl-allow-beast ile tekrar devre dışı bırakın.
Örnek: curl --proxy-ssl-allow-beast -x https://proxy https://example.com
Ayrıca --ssl-allow-beast ve -x, --proxy seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-ssl-auto-client-cert Tıpkı --ssl-auto-client-cert seçeneği gibi çalışır ancak HTTPS proxy bağlantıları için işletim sisteminin istemci sertifikasının otomatik olarak seçilmesini sağlar.
--proxy-ssl-auto-client-cert seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxy-ssl-auto-client-cert ile tekrar devre dışı bırakın.
Örnek: curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com
Ayrıca --ssl-auto-client-cert ve -x, --proxy seçeneklerine bakın. 7.77.0 sürümünde eklendi.
--proxy-tls13-ciphers <şifre listesi> (TLS) Tıpkı --tls13-ciphers seçeneği gibi çalışır ancak HTTPS proxy bağlantısında TLS 1.3 için kullanılacak şifre gruplarının listesini belirtir.
Eğer --proxy-tls13-ciphers birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com
Ayrıca --tls13-ciphers ve --proxy-ciphers seçeneklerine bakın. 7.61.0 sürümünde eklendi.
--proxy-tlsauthtype <tür> Tıpkı --tlsauthtype seçeneği gibi çalışır ancak HTTPS proxy bağlantısında kullanılacak TLS kimlik doğrulama türünü (örneğin "SRP") belirtir.
Eğer --proxy-tlsauthtype birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-tlsauthtype SRP -x https://proxy https://example.com
Ayrıca -x, --proxy ve --proxy-tlsuser seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-tlspassword
Eğer --proxy-tlspassword birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-tlspassword sifre -x https://proxy https://example.com
Ayrıca -x, --proxy ve --proxy-tlsuser seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-tlsuser
Eğer --proxy-tlsuser birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-tlsuser smith -x https://proxy https://example.com
Ayrıca -x, --proxy ve --proxy-tlspassword seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--proxy-tlsv1 Tıpkı -1, --tlsv1 seçeneği gibi çalışır ancak HTTPS proxy ile bağlantı kurulurken en az TLS 1.x protokolünün kullanılmasını zorunlu kılar.
--proxy-tlsv1 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy-tlsv1 -x https://proxy https://example.com
Ayrıca -x, --proxy seçeneğine bakın. 7.52.0 sürümünde eklendi.
-U, --proxy-user <kullanıcı:şifre> Proxy sunucusu kimlik doğrulaması için kullanılacak kullanıcı adı ve şifreyi belirtir.
Windows SSPI özellikli bir curl ikili dosyası kullanıyorsanız ve Negotiate veya NTLM kimlik doğrulaması gerçekleştiriyorsanız, tek bir iki nokta üst üste ("-U :") belirterek curl'e kimlik bilgilerini otomatik olarak geçerli sistem oturumundan çekmesini söyleyebilirsiniz.
Destekleyen sistemlerde curl bu argümanı işletim sisteminin süreç listelerinden (process list) gizlemeye çalışır, ancak yine de tamamen silinene kadar kısa bir süre için diğer kullanıcılar tarafından görülebileceğinden hassas kimlik bilgilerinin bu şekilde açık metin olarak komut satırında gönderilmesi önerilmez. Bu bilgileri çevre değişkenleri veya yapılandırma dosyaları üzerinden iletmek daha güvenlidir.
Eğer --proxy-user birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy-user ad:sifre -x proxy https://example.com
Ayrıca --proxy-pass seçeneğine bakın.
-x, --proxy [protokol://]ana_bilgisayar[:port] Belirtilen proxy sunucusunu kullanır.
Proxy protokolü belirtilmemişse veya "http://" olarak verilmişse, bağlantı bir HTTP proxy sunucusu olarak ele alınır. Özel bir SOCKS protokolü kullanmak için socks4://, socks4a://, socks5:// veya socks5h:// protokol ön eklerini belirtebilirsiniz.
SOCKS proxy bağlantılarında Unix domain soketleri de desteklenmektedir. Ana bilgisayar kısmına "localhost" yazarak dosya yolu belirtilebilir, örneğin: socks5h://localhost/path/to/socket.sock.
OpenSSL ve GnuTLS destekli curl sürümlerinde (7.52.0 sürümünden beri) HTTPS proxy sunucuları "https://" ön ekiyle belirtilebilir. Bu destek rustls, Secure Transport, wolfSSL, BearSSL, mbedTLS ve Schannel arka uçları için de mevcuttur (7.87.0 sürümünde eklendi).
Bilinmeyen veya desteklenmeyen proxy protokolleri hata oluşturur (7.52.0 sürümünde eklendi). Eski curl sürümleri bilinmeyen şemaları yoksayar ve varsayılan olarak HTTP proxy olarak işlem yapardı.
Port numarası belirtilmemişse, varsayılan olarak 1080 portu kabul edilir.
Bu seçenek, çevre değişkenleri tarafından tanımlanan proxy ayarlarını geçersiz kılar. Çevre değişkenlerindeki bir proxy tanımını tamamen devre dışı bırakıp doğrudan bağlantı kurmak için proxy değerini boş dize ("") olarak ayarlayabilirsiniz.
HTTP proxy üzerinden yapılan tüm işlemler şeffaf bir şekilde HTTP isteklerine dönüştürülür. Bu, bazı protokollere özgü işlemlerin kullanılamayacağı anlamına gelir. Eğer proxy sunucusu izin veriyorsa, tünelleme yapmak ve bu kısıtlamaları aşmak için -p, --proxytunnel seçeneğini kullanabilirsiniz.
Proxy URL'sinde sağlanan kullanıcı adı ve şifre bilgileri curl tarafından otomatik olarak URL kod çözümlemesinden (URL-decoded) geçirilir; böylece "@" karakteri için "%40" veya ":" karakteri için "%3a" formatlarını kullanabilirsiniz.
Eğer --proxy birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --proxy http://proxy.example https://example.com
Ayrıca --socks5 ve --proxy-basic seçeneklerine bakın.
--proxy1.0 <ana_bilgisayar[:port]> Belirtilen HTTP 1.0 proxy sunucusunu kullanır. Port belirtilmemişse 1080 varsayılır.
Bu seçeneğin -x, --proxy seçeneğinden tek farkı, proxy sunucusu üzerinden tünel açma (CONNECT) isteği gönderilirken HTTP 1.1 yerine HTTP 1.0 protokol sürümünün talep edilmesidir.
--proxy1.0 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --proxy1.0 http://proxy.example https://example.com
Ayrıca -x, --proxy ve --preproxy seçeneklerine bakın.
-p, --proxytunnel Bir HTTP proxy sunucusu (-x, --proxy) kullanılırken, curl'ün tüm veri trafiğini proxy üzerinden şeffaf bir şekilde tünellemesini (tunneling) sağlar. Tünelleme işlemi HTTP CONNECT isteğiyle gerçekleştirilir ve proxy sunucusunun belirtilen uzak porta tünel bağlantısı yapılmasına izin vermesini gerektirir.
curl protokol başlıklarını çıktıya yazarken proxy CONNECT yanıt başlıklarını gizlemek için --suppress-connect-headers seçeneğine bakın.
--proxytunnel seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-proxytunnel ile tekrar devre dışı bırakın.
Örnek: curl --proxytunnel -x http://proxy.example https://example.com
Ayrıca -x, --proxy seçeneğine bakın.
--pubkey
curl normalde ortak anahtarı özel anahtar dosyasından otomatik olarak çıkarmaya çalışır, bu yüzden bu seçeneğin kullanılması genellikle gerekli değildir. Ortak anahtar çıkarma özelliğinin çalışması için libcurl'in OpenSSL ile bağlanmış bir libssh2 1.2.8 veya daha yüksek sürümüyle derlenmiş olması gerekir.
Eğer --pubkey birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --pubkey dosya.pub sftp://example.com/
Ayrıca --pass seçeneğine bakın.
-Q, --quote
Komutların aktarım başarıyla bittikten sonra çalıştırılması için önüne "-" işareti getirilmelidir.
(Yalnızca FTP) Komutun, curl çalışma dizinini değiştirdikten hemen sonra fakat dosya aktarımından hemen önce çalıştırılması için önüne "+" işareti getirilebilir (dizin listeleme işlemlerinde bu uygulanmaz).
Birden fazla komut belirtmek için bu seçenek arka arkaya kullanılabilir.
Normalde curl ilk komut başarısız olduğunda işlemi durdurur. Bir komut başarısız olsa bile curl'ün devam etmesini sağlamak için komutun önüne "*" işareti eklenebilir. Aksi takdirde sunucu hata döndürdüğünde tüm işlem iptal edilir.
FTP sunucuları için RFC 959 uyumlu geçerli komutlar, SFTP sunucuları için ise aşağıda listelenen özel komut formatları kullanılmalıdır.
SFTP ikili bir protokoldür. FTP'den farklı olarak, curl SFTP quote komutlarını sunucuya göndermeden önce kendisi yorumlar. Dosya adlarında boşluk veya özel karakterler varsa kabuk tarzında tırnak içine alınabilir. Desteklenen tüm SFTP quote komutları şunlardır:
atime tarih dosya dosya işleneni ile belirtilen dosyanın son erişim zamanını ayarlar. Tarih ifadesi her türlü tarih dizesi olabilir, ayrıntılar için curl_getdate(3) kılavuz sayfasına bakın. (7.73.0 sürümünde eklendi)
chgrp grup dosya dosya işleneni ile belirtilen dosyanın grup kimliğini (GID) belirtilen grup değeriyle değiştirir. grup değeri ondalık bir tam sayı olmalıdır.
chmod mod dosya Belirtilen dosyanın erişim izin modunu değiştirir. mod değeri sekizlik (octal) bir tam sayı olmalıdır.
chown kullanıcı dosya dosya işleneni ile belirtilen dosyanın sahibini (UID) belirtilen kullanıcı değeriyle değiştirir. kullanıcı değeri ondalık bir tam sayı olmalıdır.
ln kaynak_dosya hedef_dosya Belirtilen hedef konumunda kaynak dosyayı gösteren sembolik bir bağ (symbolic link) oluşturur.
mkdir dizin_adı Belirtilen dizini oluşturur.
mtime tarih dosya dosya işleneni ile belirtilen dosyanın son değişiklik zamanını (mtime) ayarlar. (7.73.0 sürümünde eklendi)
pwd Geçerli çalışma dizininin mutlak yol adını döndürür.
rename kaynak hedef Belirtilen kaynak dosya veya dizini belirtilen hedef yoluna taşır/adlandırır.
rm dosya Belirtilen dosyayı siler.
rmdir dizin Boş olması koşuluyla belirtilen dizini siler.
symlink kaynak_dosya hedef_dosya "ln" komutuyla aynıdır.
--quote seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --quote "DELE dosya.txt" ftp://example.com/klasör
Ayrıca -X, --request seçeneğine bakın.
--random-file
Eğer --random-file birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --random-file cöp.bin https://example.com/
Ayrıca --egd-file seçeneğine bakın.
-r, --range <aralık> (HTTP FTP SFTP FILE) HTTP/1.1, FTP, SFTP veya yerel FILE üzerinden bir belgenin yalnızca belirli bir bayt aralığını (kısmi içerik) çeker.
Aşağıdaki formatlarda belirtilebilir:
0-499 İlk 500 baytı alır.
500-999 İkinci 500 baytı alır.
-500 Dosyanın son 500 baytını alır.
9500- 9500. bayttan başlayarak dosyanın sonuna kadar olan kısmı alır.
0-0,-1 (HTTP) Sadece ilk ve en son baytı alır.
100-199,500-599 (HTTP) İki ayrı 100 baytlık aralığı alır.
Not (*): Çoklu aralık istekleri (multipart), sunucunun multipart/byteranges biçiminde yanıt vermesine neden olur ve curl bu yanıtı olduğu gibi ham olarak döndürür! Bu yanıtı ayrıştırmak ve birleştirmek tamamen istemci uygulamanın sorumluluğundadır.
Aralık sözdizimindeki başlangıç ve bitiş alanlarında yalnızca sayısal karakterler (0-9) kullanılabilir. Geçersiz karakterler verilirse sunucunun nasıl yanıt vereceği sunucu yapılandırmasına bağlı olarak belirsizdir.
Birçok HTTP/1.1 sunucusunda bu özellik devre dışıdır, bu durumlarda curl aralık yerine belgenin tamamını indirir.
FTP ve SFTP aralık indirmeleri yalnızca basit başlangıç-bitiş sözdizimini (sayılardan biri isteğe bağlı olarak boş bırakılabilir) destekler. FTP üzerindeki kullanımı SIZE komutunun desteğine bağlıdır.
Eğer --range birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --range 0-1024 https://example.com
Ayrıca -C, --continue-at ve -a, --append seçeneklerine bakın.
--rate <maks istek oranı> curl'ün birim zaman başına gerçekleştireceği maksimum aktarım/istek başlatma frekansını (istek oranı) sınırlar. Bu seçenek belirtilmezse, curl sonraki aktarımı mümkün olan en hızlı şekilde başlatır.
Birden fazla URL belirtildiğinde ve bir aktarım izin verilen orandan daha hızlı bittiğinde, curl istek oranını korumak için sonraki aktarımı başlatmadan önce gerekli süre boyunca bekler. Bu seçeneğin -Z, --parallel seçeneğiyle hiçbir etkisi yoktur.
İstek oranı "N/U" formatında belirtilir; burada N bir tam sayı, U ise bir zaman birimidir. Desteklenen birimler: 's' (saniye), 'm' (dakika), 'h' (saat) ve 'd' (24 saatlik gün birimi). "/U" birimi belirtilmezse, varsayılan olarak saat başına aktarım sayısı kabul edilir.
Örneğin, dakikada 10 isteğe izin verilmişse, curl bir önceki aktarım başladıktan sonra en az 6 saniye geçmeden sonraki aktarımı başlatmaz.
Bu özellik milisaniye çözünürlüğü kullanır. İstek oranı saniyede 1000'in üzerinde ayarlanırsa, herhangi bir sınırlama uygulanmadan doğrudan çalışır.
--retry seçeneğiyle yapılan yeniden denemelerde bu sınırlama yerine yeniden deneme gecikme mantığı uygulanır.
Bu seçenek globaldir ve her --next sonrasında tekrar belirtilmesine gerek yoktur.
Eğer --rate birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --rate 2/s https://example.com curl --rate 15/m https://example.com
Ayrıca --limit-rate ve --retry-delay seçeneklerine bakın. 7.84.0 sürümünde eklendi.
--raw (HTTP) Sunucudan gelen yanıt içeriklerinin (Content-Encoding veya Transfer-Encoding) curl tarafından otomatik olarak çözülmesini devre dışı bırakır ve verileri sunucudan geldiği gibi tamamen ham/sıkıştırılmış olarak çıktıya yazar.
--raw seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-raw ile tekrar devre dışı bırakın.
Örnek: curl --raw https://example.com
Ayrıca --tr-encoding seçeneğine bakın.
-e, --referer
Eğer --referer birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --referer "https://kaynak.example" https://example.com curl --referer ";auto" -L https://example.com
Ayrıca -A, --user-agent ve -H, --header seçeneklerine bakın.
-J, --remote-header-name (HTTP) Bu seçenek -O, --remote-name seçeneğinin, dosya adını URL'den çıkarmak yerine sunucu tarafından gönderilen "Content-Disposition" üst bilgisindeki "filename" parametresine göre belirlemesini sağlar. Dosya adında herhangi bir dizin yolu bulunuyorsa, güvenlik nedeniyle bu yollar temizlenir ve yalnızca dosya adı kullanılır.
Dosya, geçerli çalışma dizinine veya --output-dir seçeneğiyle ayarlanmış olan hedef dizine kaydedilir.
Belirtilen dosya adıyla hedef dizinde zaten bir dosya mevcutsa, --clobber seçeneğiyle üzerine yazılmasına izin verilmediği sürece curl hata verir ve mevcut dosyanın üzerine yazmaz. Sunucu bir dosya adı belirtmezse bu seçeneğin hiçbir etkisi olmaz.
Dosya adındaki yüzde kaçış dizileri (%-sequences) şu an için çözümlenmez, bu nedenle beklenmedik dosya adlarıyla karşılaşabilirsiniz.
Bu özellik yalnızca standart "filename" parametresini destekler, karakter kodlaması içeren "filename*" parametresini henüz desteklememektedir.
WARNING: Bu seçeneği kullanırken, özellikle Windows sistemlerde çok dikkatli olun. Kötü niyetli bir sunucu, Windows veya üçüncü taraf yazılımlar tarafından otomatik olarak yüklenebilecek tehlikeli bir dosya adı (örneğin bir DLL dosyası) gönderebilir.
--remote-header-name seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-remote-header-name ile tekrar devre dışı bırakın.
Örnek: curl -OJ https://example.com/dosya-indir
Ayrıca -O, --remote-name seçeneğine bakın.
--remote-name-all Komut satırında belirtilen tüm URL'ler için varsayılan davranışın -O, --remote-name seçeneği eklenmiş gibi olmasını sağlar (her URL kendi adıyla yerel dosyaya kaydedilir). Bu davranışı belirli bir URL için devre dışı bırakmak isterseniz, o URL'den sonra "-o -" veya --no-remote-name seçeneğini belirtebilirsiniz.
--remote-name-all seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-remote-name-all ile tekrar devre dışı bırakın.
Örnek: curl --remote-name-all http://ex.com/dosya1.zip http://ex.com/dosya2.zip
Ayrıca -O, --remote-name seçeneğine bakın.
-O, --remote-name İndirilen içeriği, uzak sunucudaki dosya adıyla aynı ada sahip yerel bir dosyaya kaydeder (URL'deki yol kısımları atılır, yalnızca en sondaki dosya adı kısmı kullanılır).
Dosya geçerli çalışma dizinine kaydedilir. Başka bir dizine kaydetmek için curl'ü çalıştırmadan önce dizin değiştirin veya --output-dir seçeneğini kullanın.
Dosya adı doğrudan URL'den çıkarılır ve yerel dizinde aynı isimde bir dosya varsa üzerine yazılır. Dosya adının sunucu tarafından seçilmesini sağlamak için -J, --remote-header-name seçeneğine bakın.
Dosya adında herhangi bir URL kod çözme işlemi yapılmaz. URL içinde "%20" veya benzeri kodlu kısımlar varsa, dosya adı yerel diske bu karakterlerle aynen kaydedilir.
Komut satırındaki her URL için ayrı bir -O, --remote-name seçeneği belirtebilirsiniz.
--remote-name seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnek: curl -O https://example.com/rapor.pdf
Ayrıca --remote-name-all, --output-dir ve -J, --remote-header-name seçeneklerine bakın.
-R, --remote-time curl'ün uzak sunucudaki dosyanın değişiklik zaman damgasını (timestamp) öğrenmeye çalışmasını ve indirme başarılı olursa yerel dosyanın değişiklik tarihini de bu zaman damgasıyla eşleştirmesini sağlar.
--remote-time seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-remote-time ile tekrar devre dışı bırakın.
Örnek: curl --remote-time -o yerel-dosya https://example.com/dosya
Ayrıca -O, --remote-name ve -z, --time-cond seçeneklerine bakın.
--remove-on-error curl yerel bir dosyaya çıktı kaydederken bir hata oluşursa, kısmi veya bozuk dosyaların diskten silinmesini önlemek için çıkış yapmadan önce oluşturulan bu dosyayı otomatik olarak siler.
Çıktı hedefi normal bir dosya değilse bu seçeneğin hiçbir etkisi yoktur.
--remove-on-error seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-remove-on-error ile tekrar devre dışı bırakın.
Örnek: curl --remove-on-error -o cikis.bin https://example.com/dosya
Ayrıca -f, --fail seçeneğine bakın. 7.83.0 sürümünde eklendi.
--request-target
curl belirtilen bu dizeyi hiçbir filtreleme veya güvenlik denetiminden geçirmeden aynen sunucuya iletir; buna boşluklar ve kontrol karakterleri de dahildir.
Eğer --request-target birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --request-target "*" -X OPTIONS https://example.com
Ayrıca -X, --request seçeneğine bakın. 7.55.0 sürümünde eklendi.
-X, --request <yöntem> İstek başlatılırken kullanılacak HTTP istek yöntemini (method) veya sunucu komutunu değiştirir.
curl belirtilen bu yöntemi hiçbir filtreleme veya güvenlik denetiminden geçirmeden aynen sunucuya iletir.
HTTP HTTP sunucusuyla iletişim kurarken kullanılacak özel istek yöntemini belirtir (varsayılan GET yerine). Ortak HTTP yöntemleri arasında POST, PUT, DELETE, HEAD bulunur. WebDAV veya benzeri altyapılarda PROPFIND, COPY, MOVE gibi yöntemler kullanılabilir.
Normalde bu seçeneğin kullanılmasına gerek yoktur. GET, HEAD, POST ve PUT gibi yaygın istek türleri zaten curl'ün özel seçenekleriyle (örneğin -I, -d, -T) otomatik olarak ayarlanır.
Bu seçenek yalnızca istek satırındaki kelimeyi değiştirir, curl'ün dahili davranışını değiştirmez. Örneğin, düzgün bir HEAD isteği yapmak için -X HEAD kullanılması yeterli değildir, bunun yerine mutlaka -I, --head seçeneği kullanılmalıdır.
-X seçeneğiyle ayarlanan yöntem tüm isteklere uygulanır; bu durum, -L, --location ile yönlendirmeler takip edilirken curl'ün 30x durum kodlarına göre yöntem değiştirmesini engelleyebilir ve beklenmedik sorunlara yol açabilir.
FTP FTP dizin listeleme işlemlerinde LIST komutu yerine kullanılacak özel FTP komutunu belirtir.
POP3 LIST veya RETR komutları yerine kullanılacak özel POP3 komutunu belirtir.
IMAP LIST komutu yerine kullanılacak özel IMAP komutunu belirtir.
SMTP HELP veya VRFY komutları yerine kullanılacak özel SMTP komutunu belirtir.
Eğer --request birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl -X "DELETE" https://example.com/kaynak curl -X NLST ftp://example.com/
Ayrıca --request-target seçeneğine bakın.
--resolve <[+]ana_bilgisayar:port:adres[,adres]...>
Belirli bir ana bilgisayar adı ve port çifti için özel bir IP adresi tanımlar. Bu seçenek, DNS sunucularını atlayarak curl'ün belirtilen adrese doğrudan bağlanmasını sağlar. Komut satırından geçici bir /etc/hosts tanımı yapmak gibidir.
IP adresleri virgülle ayrılarak birden fazla adres tanımlanabilir.
Ana bilgisayar adı olarak "*" belirtilirse, curl belirtilen porta yapılan tüm bağlantıları bu adrese yönlendirir.
Seçeneğin başına "+" işareti getirilirse, bu özel DNS tanımı curl'ün varsayılan zaman aşımı süresinden (1 dakika) sonra geçersiz kılınır ve silinir. Bu, çok sayıda paralel aktarım gerçekleştiren uzun süreli işlemler için kullanışlıdır.
IP adreslerinin köşeli parantez içinde belirtilmesi desteği 7.57.0 sürümünde eklendi. Girdide birden fazla IP adresi belirtilmesi desteği 7.59.0 sürümünde eklendi. Yıldız işaretiyle (*) tüm bilgisayarları eşleştirme desteği 7.64.0 sürümünde eklendi. Girdinin başına "+" getirilerek zaman aşımı süresi tanımlanması desteği 7.75.0 sürümünde eklendi.
--resolve seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --resolve example.com:443:127.0.0.1 https://example.com
Ayrıca --connect-to ve --alt-svc seçeneklerine bakın.
--retry-all-errors Her türlü hata durumunda yeniden deneme (retry) yapar. Bu seçenek --retry seçeneğiyle birlikte kullanılmalıdır.
Bu seçenek "balyoz" yaklaşımıdır ve dikkatli kullanılmalıdır. Giden/gelen verilerin yinelenmesine yol açabileceğinden varsayılan olarak (örneğin .curlrc içinde) kullanılması önerilmez. Boru hatları (pipes) veya yönlendirilmiş girdi/çıktılarla birlikte kullanılmamalıdır.
WARNING: Yeniden denemeler sırasında, curl başarısız olan kısmi dosyaları diskten silerek temizlemeye çalışır, ancak boru hattına (|) yönlendirilen veya ">" ile yazdırılan çıktılarda bu temizlik yapılamaz ve yinelenen veriler oluşabilir.
Varsayılan olarak curl sunucudan gelen 404 gibi HTTP hata kodlarını bir aktarım hatası olarak kabul etmez ve yeniden denemez. Tüm HTTP hata kodlarında (4xx ve 5xx) yeniden deneme yapmak için bu seçeneği -f, --fail seçeneğiyle birleştirebilirsiniz.
--retry-all-errors seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-retry-all-errors ile tekrar devre dışı bırakın.
Örnek: curl --retry 5 --retry-all-errors https://example.com
Ayrıca --retry seçeneğine bakın. 7.71.0 sürümünde eklendi.
--retry-connrefused Bağlantı reddedildi (ECONNREFUSED) hatalarını da geçici hata olarak kabul eder ve --retry ile yeniden deneme yapılmasını sağlar. Bu seçenek --retry ile birlikte kullanılmalıdır.
--retry-connrefused seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-retry-connrefused ile tekrar devre dışı bırakın.
Örnek: curl --retry-connrefused --retry 5 https://example.com
Ayrıca --retry ve --retry-all-errors seçeneklerine bakın. 7.52.0 sürümünde eklendi.
--retry-delay
Süre olarak 0 belirlenirse varsayılan gecikme algoritması kullanılır.
Eğer --retry-delay birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --retry-delay 5 --retry 3 https://example.com
Ayrıca --retry seçeneğine bakın.
--retry-max-time
Süre sınırı aşılmasa bile, başlamış olan aktif bir aktarımın tamamlanması bu süreden uzun sürebilir. Tek bir isteğin süresini sınırlamak için -m, --max-time seçeneğine bakın.
Değer olarak 0 belirlenirse süre sınırı uygulanmaz.
Eğer --retry-max-time birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --retry-max-time 60 --retry 10 https://example.com
Ayrıca --retry seçeneğine bakın.
--retry <sayı> Aktarım sırasında geçici bir hata alındığında, curl'ün vazgeçmeden önce işlemi kaç kez yeniden deneyeceğini belirtir. Değer olarak 0 verilirse (varsayılan) yeniden deneme yapılmaz.
Geçici hata tanımları şunlardır: Zaman aşımı, FTP 4xx yanıt kodları veya HTTP 408, 429, 500, 502, 503, 504 yanıt kodları.
curl yeniden denemeler arasında ilk olarak 1 saniye bekler ve sonraki her denemede bekleme süresini ikiye katlayarak maksimum 10 dakikaya kadar çıkartır (üstel gecikme - exponential backoff). Bu üstel gecikmeyi iptal etmek ve sabit süre tanımlamak için --retry-delay seçeneğine bakın. Toplam süreyi sınırlandırmak için --retry-max-time seçeneğine bakın.
Sunucudan gelen bir "Retry-After" yanıt başlığı mevcutsa, curl sonraki deneme için bu başlıkta belirtilen süreye uyar (7.66.0 sürümünde eklendi).
Eğer --retry birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --retry 5 https://example.com
Ayrıca --retry-max-time seçeneğine bakın.
--sasl-authzid
Bu seçenek belirtilmezse sunucu yetkilendirme kimliğini doğrudan kullanıcı kimliğinden türetir. Belirtildiğinde ise (sunucu desteğine bağlı olarak) kullanıcının erişim izni olan başka bir posta kutusuna (ortak klasör vb.) erişim sağlamak için kullanılabilir.
Eğer --sasl-authzid birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --sasl-authzid ortakposta imap://example.com/
Ayrıca --login-options seçeneğine bakın. 7.66.0 sürümünde eklendi.
--sasl-ir SASL kimlik doğrulaması sırasında ilk yanıtın (initial response) gönderilmesini etkinleştirir.
--sasl-ir seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-sasl-ir ile tekrar devre dışı bırakın.
Örnek: curl --sasl-ir imap://example.com/
Ayrıca --sasl-authzid seçeneğine bakın. 7.31.0 sürümünde eklendi.
--service-name
Eğer --service-name birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --service-name sockd/server https://example.com
Ayrıca --negotiate ve --proxy-service-name seçeneklerine bakın.
-S, --show-error -s, --silent seçeneğiyle birlikte kullanıldığında, curl başarısız olursa bir hata mesajı görüntülemesini sağlar.
Bu seçenek globaldir.
--show-error seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-show-error ile tekrar devre dışı bırakın.
Örnek: curl --show-error --silent https://example.com
Ayrıca --no-progress-meter seçeneğine bakın.
-s, --silent Sessiz (silent) modu etkinleştirir. İlerleme ölçerini veya hata mesajlarını göstermez. curl çıktıyı tamamen sessiz hale getirir.
Yine de talep ettiğiniz verileri standart çıktıya yazmaya devam eder, bu nedenle terminale yazılmasını önlemek için bir dosyaya yönlendirmeniz gerekebilir.
İlerleme ölçerini kapatmak fakat olası hata mesajlarını görmeye devam etmek için bu seçeneği -S, --show-error seçeneğiyle birleştirebilirsiniz.
--silent seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-silent ile tekrar devre dışı bırakın.
Örnek: curl -s https://example.com
Ayrıca -v, --verbose, --stderr ve --no-progress-meter seçeneklerine bakın.
--socks4 <ana_bilgisayar[:port]> Belirtilen SOCKS4 proxy sunucusunu kullanır. Port belirtilmemişse 1080 varsayılır. Bu seçenekle, hedef ana bilgisayar adı yerel olarak çözümlenir ve IP adresi proxy sunucusuna iletilir.
SOCKS proxy bağlantılarında Unix domain soketleri de desteklenmektedir. Ana bilgisayar kısmına "localhost" yazarak dosya yolu belirtilebilir, örneğin: socks4://localhost/path/to/socket.sock.
Bu seçenek, -x, --proxy seçeneğiyle çakışır ve en son belirtilen seçenek geçerli olur.
Bu seçenek aslında gereksizdir; çünkü -x, --proxy seçeneğini "socks4://" protokol ön ekiyle kullanarak da aynı işlemi yapabilirsiniz.
--preproxy seçeneği kullanılarak, bir HTTP/HTTPS proxy sunucusuyla birlikte aynı anda bir SOCKS proxy sunucusu da belirtilebilir (7.52.0 sürümünde eklendi). Bu durumda curl önce SOCKS proxy'sine bağlanır ve ardından bu kanal üzerinden asıl HTTP veya HTTPS proxy'sine bağlantı kurar.
Eğer --socks4 birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --socks4 hostname:4096 https://example.com
Ayrıca --socks4a, --socks5 ve --socks5-hostname seçeneklerine bakın.
--socks4a <ana_bilgisayar[:port]> Belirtilen SOCKS4a proxy sunucusunu kullanır. Port belirtilmemişse 1080 varsayılır. Bu seçenekle, hedef ana bilgisayar adının çözümlenmesi işlemi proxy sunucusuna bırakılır.
SOCKS proxy bağlantılarında Unix domain soketleri de desteklenmektedir. Ana bilgisayar kısmına "localhost" yazarak dosya yolu belirtilebilir, örneğin: socks4a://localhost/path/to/socket.sock.
Bu seçenek, -x, --proxy seçeneğiyle çakışır ve en son belirtilen seçenek geçerli olur.
Bu seçenek aslında gereksizdir; çünkü -x, --proxy seçeneğini "socks4a://" protokol ön ekiyle kullanarak da aynı işlemi yapabilirsiniz.
--preproxy seçeneği kullanılarak, bir HTTP/HTTPS proxy sunucusuyla birlikte aynı anda bir SOCKS proxy sunucusu da belirtilebilir (7.52.0 sürümünde eklendi).
Eğer --socks4a birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --socks4a hostname:4096 https://example.com
Ayrıca --socks4, --socks5 ve --socks5-hostname seçeneklerine bakın.
--socks5-basic SOCKS5 proxy sunucusuna bağlanırken kullanıcı adı/şifre kimlik doğrulamasının kullanılmasını zorlar. Bu doğrulama yöntemi varsayılan olarak etkindir. SOCKS5 proxy sunucusuyla GSS-API kimlik doğrulamasını zorlamak için --socks5-gssapi seçeneğine bakın.
--socks5-basic seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --socks5-basic --socks5 hostname:4096 https://example.com
Ayrıca --socks5 seçeneğine bakın. 7.55.0 sürümünde eklendi.
--socks5-gssapi-nec GSS-API el sıkışmasının bir parçası olarak bir koruma modu müzakere edilir. RFC 1961 bölüm 4.3/4.4'te bunun korunması gerektiği belirtilir, ancak NEC referans uygulaması bunu yapmaz. --socks5-gssapi-nec seçeneği, koruma modu müzakeresinin korunmasız şekilde yapılmasına izin verir.
--socks5-gssapi-nec seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-socks5-gssapi-nec ile tekrar devre dışı bırakın.
Örnek: curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com
Ayrıca --socks5 seçeneğine bakın.
--socks5-gssapi-service
Eğer --socks5-gssapi-service birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com
Ayrıca --socks5 seçeneğine bakın.
--socks5-gssapi SOCKS5 proxy sunucusuna bağlanırken GSS-API kimlik doğrulamasının kullanılmasını zorlar. curl GSS-API desteğiyle derlenmişse bu özellik varsayılan olarak etkindir. SOCKS5 proxy sunucusuyla kullanıcı adı/şifre kimlik doğrulamasını zorlamak için --socks5-basic seçeneğine bakın.
--socks5-gssapi seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-socks5-gssapi ile tekrar devre dışı bırakın.
Örnek: curl --socks5-gssapi --socks5 hostname:4096 https://example.com
Ayrıca --socks5 seçeneğine bakın. 7.55.0 sürümünde eklendi.
--socks5-hostname <ana_bilgisayar[:port]> Belirtilen SOCKS5 proxy sunucusunu kullanır and hedef ana bilgisayar adının çözümlenmesi işlemini proxy sunucusuna bırakır. Port belirtilmemişse 1080 varsayılır.
SOCKS proxy bağlantılarında Unix domain soketleri de desteklenmektedir. Ana bilgisayar kısmına "localhost" yazarak dosya yolu belirtilebilir, örneğin: socks5h://localhost/path/to/socket.sock.
Bu seçenek, -x, --proxy seçeneğiyle çakışır ve en son belirtilen seçenek geçerli olur.
Bu seçenek aslında gereksizdir; çünkü -x, --proxy seçeneğini "socks5h://" protokol ön ekiyle kullanarak da aynı işlemi yapabilirsiniz.
--preproxy seçeneği kullanılarak, bir HTTP/HTTPS proxy sunucusuyla birlikte aynı anda bir SOCKS proxy sunucusu da belirtilebilir (7.52.0 sürümünde eklendi).
Eğer --socks5-hostname birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --socks5-hostname proxy.example:7000 https://example.com
Ayrıca --socks5 ve --socks4a seçeneklerine bakın.
--socks5 <ana_bilgisayar[:port]> Belirtilen SOCKS5 proxy sunucusunu kullanır and hedef ana bilgisayar adını yerel olarak çözümler. Port belirtilmemişse 1080 varsayılır.
SOCKS proxy bağlantılarında Unix domain soketleri de desteklenmektedir. Ana bilgisayar kısmına "localhost" yazarak dosya yolu belirtilebilir, örneğin: socks5://localhost/path/to/socket.sock.
Bu seçenek, -x, --proxy seçeneğiyle çakışır ve en son belirtilen seçenek geçerli olur.
Bu seçenek aslında gereksizdir; çünkü -x, --proxy seçeneğini "socks5://" protokol ön ekiyle kullanarak da aynı işlemi yapabilirsiniz.
--preproxy seçeneği kullanılarak, bir HTTP/HTTPS proxy sunucusuyla birlikte aynı anda bir SOCKS proxy sunucusu da belirtilebilir (7.52.0 sürümünde eklendi).
Bu seçenek (ve --socks4 seçeneği) IPv6, FTPS veya LDAP protokolleriyle çalışmaz.
Eğer --socks5 birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --socks5 proxy.example:7000 https://example.com
Ayrıca --socks5-hostname ve --socks4a seçeneklerine bakın.
-Y, --speed-limit <hız> Aktarım hızı belirtilen bu değerden (saniyede bayt cinsinden) daha düşük olursa, aktarımın iptal edilmesini sağlar. Hızın ne kadar süre boyunca bu sınırın altında kalması gerektiği -y, --speed-time seçeneğiyle ayarlanır ve varsayılan olarak 30 saniyedir.
Eğer --speed-limit birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --speed-limit 300 --speed-time 10 https://example.com
Ayrıca -y, --speed-time, --limit-rate ve -m, --max-time seçeneklerine bakın.
-y, --speed-time
Bu seçenek her iki yöndeki aktarımları da kontrol eder ancak yavaş bağlantı kurma süreçlerini etkilemez. Bağlantı aşaması zaman aşımları için --connect-timeout seçeneğine bakın.
Eğer --speed-time birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --speed-limit 300 --speed-time 10 https://example.com
Ayrıca -Y, --speed-limit ve --limit-rate seçeneklerine bakın.
--ssl-allow-beast (TLS) Bu seçenek, curl'ün SSL3 ve TLS1.0 protokollerindeki BEAST olarak bilinen güvenlik açığına karşı uyguladığı koruma mekanizmalarını devre dışı bırakmasını söyler. Bu seçenek kullanılmadığında, curl bazı eski SSL uygulamalarıyla uyumluluk sorunlarına yol açabilecek geçici çözümleri etkinleştirir.
WARNING: Bu seçenek SSL güvenliğini zayıflatır ve bu seçeneği kullanarak tam olarak bunu kabul etmiş olursunuz.
--ssl-allow-beast seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl-allow-beast ile tekrar devre dışı bırakın.
Örnek: curl --ssl-allow-beast https://example.com
Ayrıca --proxy-ssl-allow-beast ve -k, --insecure seçeneklerine bakın.
--ssl-auto-client-cert (TLS) (Schannel) Sunucu tarafından talep edildiğinde, curl'ün yerel işletim sistemi sertifika deposundaki uygun bir istemci sertifikasını otomatik olarak seçip sunmasını sağlar. Sunucu işletim sistemindeki herhangi bir istemci kimlik doğrulama sertifikasını talep edebileceğinden, bu durum gizlilik ihlallerine ve beklenmedik durumlara yol açabilir.
--ssl-auto-client-cert seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl-auto-client-cert ile tekrar devre dışı bırakın.
Örnek: curl --ssl-auto-client-cert https://example.com
Ayrıca --proxy-ssl-auto-client-cert seçeneğine bakın. 7.77.0 sürümünde eklendi.
--ssl-no-revoke (TLS) (Schannel) Sertifika iptal denetimlerini (revocation checks) devre dışı bırakır.
WARNING: Bu seçenek SSL güvenliğini zayıflatır ve bu seçeneği kullanarak tam olarak bunu kabul etmiş olursunuz.
--ssl-no-revoke seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl-no-revoke ile tekrar devre dışı bırakın.
Örnek: curl --ssl-no-revoke https://example.com
Ayrıca --crlfile seçeneğine bakın.
--ssl-reqd (FTP IMAP POP3 SMTP LDAP) Bağlantı için SSL/TLS kullanılmasını zorunlu kılar. Bağlantı güvenli sürüme yükseltilemezse işlemi iptal eder ve bağlantıyı keser.
Bu seçenek LDAP üzerinde de desteklenmektedir (7.81.0 sürümünde eklendi). OpenLDAP arka ucu tarafından tamamen desteklenir ve jenerik ldap arka ucu tarafından reddedilir.
URL şemasının kendisi zaten doğrudan TLS kullanımını belirtiyorsa (örneğin FTPS, IMAPS, POP3S, SMTPS ve LDAPS), bu seçeneğin kullanılmasına gerek yoktur. Bu durumlarda TLS el sıkışması başarısız olursa bağlantı zaten otomatik olarak kesilir.
Bu seçenek eski curl sürümlerinde --ftp-ssl-reqd olarak bilinirdi.
--ssl-reqd seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl-reqd ile tekrar devre dışı bırakın.
Örnek: curl --ssl-reqd ftp://example.com
Ayrıca --ssl ve -k, --insecure seçeneklerine bakın.
--ssl-revoke-best-effort (TLS) (Schannel) Çevrimdışı veya eksik dağıtım noktaları nedeniyle sertifika iptal listelerine erişilemediğinde ve doğrulama başarısız olduğunda, curl'ün bu iptal denetim hatasını yoksaymasını sağlar.
--ssl-revoke-best-effort seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl-revoke-best-effort ile tekrar devre dışı bırakın.
Örnek: curl --ssl-revoke-best-effort https://example.com
Ayrıca --crlfile ve -k, --insecure seçeneklerine bakın. 7.70.0 sürümünde eklendi.
--ssl (FTP IMAP POP3 SMTP LDAP) Güvenli olmayan bir seçenektir. curl'ün bağlantıyı mutlaka güvenli sürüme yükseltmesini zorlamak için bunun yerine --ssl-reqd seçeneğini kullanın.
Bağlantı için SSL/TLS kullanmaya çalışır. Sunucu bunu desteklemiyorsa, şifresiz düz bağlantıya geri döner (fall back). Kontrol bağlantısı şifreleme gereksinimleri için --ftp-ssl-control and --ssl-reqd seçeneklerine bakın.
Bu seçenek LDAP üzerinde de desteklenmektedir (7.81.0 sürümünde eklendi). OpenLDAP arka ucu tarafından tamamen desteklenir ve jenerik ldap arka ucu tarafından yoksayılır.
Sunucunun el sıkışma başarısız olduğunda bağlantıyı tamamen kapatabileceğini unutmayın.
Bu seçenek eski curl sürümlerinde --ftp-ssl olarak bilinirdi. Bu isim geriye dönük uyumluluk için hâlâ kullanılabilir ancak gelecekteki sürümlerde kaldırılabilir.
--ssl seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-ssl ile tekrar devre dışı bırakın.
Örnek: curl --ssl pop3://example.com/
Ayrıca --ssl-reqd, -k, --insecure ve --ciphers seçeneklerine bakın.
-2, --sslv2 (SSL) Bu seçenek eskiden curl'ün SSLv2 protokolünü kullanmasını sağlardı ancak artık yoksayılır (7.77.0 sürümünde eklendi). SSLv2 protokolü yaygın olarak güvensiz kabul edilmektedir (bkz. RFC 6176).
--sslv2 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --sslv2 https://example.com
Ayrıca --http1.1 ve --http2 seçeneklerine bakın. SSLv2 desteği, alttaki libcurl kütüphanesinin TLS desteğiyle derlenmiş olmasını gerektirir. Bu seçenek -3, --sslv3, -1, --tlsv1, --tlsv1.1 ve --tlsv1.2 seçenekleriyle çakışır.
-3, --sslv3 (SSL) Bu seçenek eskiden curl'ün SSLv3 protokolünü kullanmasını sağlardı ancak artık yoksayılır (7.77.0 sürümünde eklendi). SSLv3 protokolü yaygın olarak güvensiz kabul edilmektedir (bkz. RFC 7568).
--sslv3 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --sslv3 https://example.com
Ayrıca --http1.1 ve --http2 seçeneklerine bakın. SSLv3 desteği, alttaki libcurl kütüphanesinin TLS desteğiyle derlenmiş olmasını gerektirir. Bu seçenek -2, --sslv2, -1, --tlsv1, --tlsv1.1 ve --tlsv1.2 seçenekleriyle çakışır.
--stderr
Bu seçenek globaldir.
Eğer --stderr birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --stderr cikis.txt https://example.com
Ayrıca -v, --verbose ve -s, --silent seçeneklerine bakın.
--styled-output HTTP protokol başlıkları terminale yazdırılırken kalın yazı stillerinin (bold) otomatik olarak kullanılmasını etkinleştirir. Devre dışı bırakmak için --no-styled-output seçeneğine bakın.
Bu özellik kalın fontları destekleyen bir terminal gerektirir. Windows üzerindeki curl sürümünde terminal yetersizlikleri nedeniyle bu özellik mevcut değildir.
Bu seçenek globaldir.
--styled-output seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-styled-output ile tekrar devre dışı bırakın.
Örnek: curl --styled-output -I https://example.com
Ayrıca -I, --head ve -v, --verbose seçeneklerine bakın. 7.61.0 sürümünde eklendi.
--suppress-connect-headers -p, --proxytunnel seçeneği kullanılıp bir CONNECT isteği yapıldığında, proxy CONNECT yanıt başlıklarının çıktıya dahil edilmesini engeller. Bu seçenek, protokol başlıklarını göstermek için kullanılan -D, --dump-header veya -i, --include seçenekleriyle birlikte kullanılmak üzere tasarlanmıştır. -v, --verbose veya --trace gibi hata ayıklama veya istatistik seçeneklerini etkilemez.
--suppress-connect-headers seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-suppress-connect-headers ile tekrar devre dışı bırakın.
Örnek: curl --suppress-connect-headers --include -x proxy https://example.com
Ayrıca -D, --dump-header, -i, --include ve -p, --proxytunnel seçeneklerine bakın. 7.54.0 sürümünde eklendi.
--tcp-fastopen TCP Fast Open (RFC 7413) özelliğini etkinleştirir. TCP Fast Open, istemci ve sunucu daha önce bağlanmışsa, bağlantı kurulumu (el sıkışması) tamamen bitmeden önce verilerin daha erken gönderilmesini sağlayan bir TCP uzantısıdır.
--tcp-fastopen seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-tcp-fastopen ile tekrar devre dışı bırakın.
Örnek: curl --tcp-fastopen https://example.com
Ayrıca --false-start seçeneğine bakın. 7.49.0 sürümünde eklendi.
--tcp-nodelay TCP_NODELAY seçeneğini etkinleştirir (Nagle algoritmasını devre dışı bırakır). Bu seçenek hakkında ayrıntılı bilgi için curl_easy_setopt(3) kılavuz sayfasına bakın.
curl bu seçeneği varsayılan olarak etkinleştirir ve devre dışı bırakmak istemediğiniz sürece açıkça kapatmanız gerekmez (7.50.2 sürümünde eklendi).
--tcp-nodelay seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-tcp-nodelay ile tekrar devre dışı bırakın (Nagle algoritmasını tekrar etkinleştirir).
Örnek: curl --tcp-nodelay https://example.com
Ayrıca -N, --no-buffer seçeneğine bakın.
-t, --telnet-option <seçenek=değer> Telnet protokolüne özel seçenekler iletir. Desteklenen seçenekler şunlardır:
TTYPE=
XDISPLOC=<X ekranı> X ekranının konumunu ayarlar.
NEW_ENV=<değişken,değer> Bir çevre değişkeni tanımlar.
--telnet-option seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnek: curl -t TTYPE=vt100 telnet://example.com/
Ayrıca -K, --config seçeneğine bakın.
--tftp-blksize <değer> (TFTP) TFTP BLKSIZE (blok boyutu) seçeneğini belirtilen değerle ayarlar (en az 512 olmalıdır). Bu, TFTP sunucusuyla veri aktarımı yapılırken curl'ün kullanmaya çalışacağı blok boyutudur. Varsayılan değer 512 bayttır.
Eğer --tftp-blksize birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --tftp-blksize 1024 tftp://example.com/dosya
Ayrıca --tftp-no-options seçeneğine bakın. 7.20.0 sürümünde eklendi.
--tftp-no-options (TFTP) curl'ün sunucuya TFTP seçenek talepleri göndermesini engeller.
Bu seçenek, TFTP seçeneklerini düzgün şekilde uygulamayan veya tanımayan bazı eski TFTP sunucularıyla uyumluluğu artırır. Bu seçenek kullanıldığında --tftp-blksize seçeneği yoksayılır.
--tftp-no-options seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-tftp-no-options ile tekrar devre dışı bırakın.
Örnek: curl --tftp-no-options tftp://192.168.0.1/
Ayrıca --tftp-blksize seçeneğine bakın. 7.48.0 sürümünde eklendi.
-z, --time-cond
Tarih ifadesi her türlü tarih formatında belirtilebilir. Eşleşen bir tarih formatı bulunamazsa, curl bunu yerel bir dosya adı olarak kabul eder ve o dosyanın son değişiklik zaman damgasını (mtime) zaman koşulu olarak kullanır. Ayrıntılar için curl_getdate(3) kılavuz sayfasına bakın.
Tarih ifadesinin başına tek bir tire işareti ("-") eklendiğinde, curl belirtilen tarihten daha ESKİ olan dosyaları talep eder. Başında tire yoksa, varsayılan olarak belirtilen tarihten daha YENİ olan dosyalar talep edilir.
Belirtilen yerel dosya mevcut değilse, curl bir uyarı mesajı görüntüler ve zaman koşulu olmaksızın aktarımı normal şekilde başlatır.
Eğer --time-cond birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl -z "Wed 01 Sep 2021 12:18:00" https://example.com curl -z "-Wed 01 Sep 2021 12:18:00" https://example.com curl -z yereldosya.txt https://example.com
Ayrıca --etag-compare ve -R, --remote-time seçeneklerine bakın.
--tls-max <SÜRÜM> (TLS) Kullanılabilecek maksimum TLS protokol sürümünü sınırlar. İzin verilen minimum TLS sürümü tlsv1.0, tlsv1.1, tlsv1.2 veya tlsv1.3 seçenekleriyle ayarlanır.
Bağlantı TLS olmadan kuruluyorsa (örneğin HTTP/3 QUIC aktarımlarında) bu seçeneğin bir etkisi yoktur.
default Önerilen maksimum TLS sürümü otomatik olarak seçilir.
1.0 Maksimum TLSv1.0 sürümüne izin verir.
1.1 Maksimum TLSv1.1 sürümüne izin verir.
1.2 Maksimum TLSv1.2 sürümüne izin verir.
1.3 Maksimum TLSv1.3 sürümüne izin verir.
Eğer --tls-max birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnekler: curl --tls-max 1.2 https://example.com curl --tls-max 1.3 --tlsv1.2 https://example.com
Ayrıca --tlsv1.0, --tlsv1.1, --tlsv1.2 ve --tlsv1.3 seçeneklerine bakın. --tls-max seçeneği, alttaki libcurl kütüphanesinin TLS desteğiyle derlenmiş olmasını gerektirir. 7.54.0 sürümünde eklendi.
--tls13-ciphers <şifre listesi> (TLS) TLS 1.3 el sıkışması sırasında kullanılmasına izin verilen şifre gruplarının (cipher suites) listesini belirtir. Geçerli şifre grupları belirtilmelidir. Ayrıntılar için bu URL'ye bakın:
https://curl.se/docs/ssl-ciphers.html
Bu seçenek şu anda yalnızca curl OpenSSL 1.1.1 veya sonraki sürümleriyle ya da Schannel ile derlendiğinde çalışır. Farklı bir SSL motoru kullanılıyorsa --ciphers seçeneği denenebilir.
Eğer --tls13-ciphers birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com
Ayrıca --ciphers, --curves ve --proxy-tls13-ciphers seçeneklerine bakın. 7.61.0 sürümünde eklendi.
--tlsauthtype <tür> (TLS) TLS kimlik doğrulama türünü belirtir. Şu anda desteklenen tek değer TLS-SRP (RFC 5054) için "SRP"dir. --tlsuser ve --tlspassword seçenekleri belirtilip bu seçenek boş bırakılırsa, varsayılan olarak "SRP" kabul edilir. Bu özelliğin çalışması için alttaki libcurl kütüphanesinin TLS-SRP destekleyen bir OpenSSL veya GnuTLS dengan derlenmiş olması gerekir.
Eğer --tlsauthtype birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --tlsauthtype SRP https://example.com
Ayrıca --tlsuser seçeneğine bakın. 7.21.4 sürümünde eklendi.
--tlspassword
Bu seçenek TLS 1.3 protokolüyle çalışmaz.
Eğer --tlspassword birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --tlspassword sifrem --tlsuser kullanıcı https://example.com
Ayrıca --tlsuser seçeneğine bakın. 7.21.4 sürümünde eklendi.
--tlsuser
Bu seçenek TLS 1.3 protokolüyle çalışmaz.
Eğer --tlsuser birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --tlspassword sifrem --tlsuser kullanıcı https://example.com
Ayrıca --tlspassword seçeneğine bakın. 7.21.4 sürümünde eklendi.
--tlsv1.0 (TLS) curl'ün uzak TLS sunucusuna bağlanırken en az TLS 1.0 veya daha yeni bir protokol sürümünü kullanmaya zorlamasını sağlar.
Eski curl sürümlerinde bu seçenek sadece TLS 1.0 kullanılmasına izin verirdi; ancak bu davranış kullanılan TLS arka ucuna bağlı olarak tutarsızlıklar göstermiştir. Maksimum bir TLS sürümü belirlemek için --tls-max seçeneğine bakın.
--tlsv1.0 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --tlsv1.0 https://example.com
Ayrıca --tlsv1.3 seçeneğine bakın. 7.34.0 sürümünde eklendi.
--tlsv1.1 (TLS) curl'ün uzak TLS sunucusuna bağlanırken en az TLS 1.1 veya daha yeni bir protokol sürümünü kullanmaya zorlamasını sağlar.
Eski curl sürümlerinde bu seçenek sadece TLS 1.1 kullanılmasına izin verirdi. Maksimum bir TLS sürümü belirlemek için --tls-max seçeneğine bakın.
--tlsv1.1 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --tlsv1.1 https://example.com
Ayrıca --tlsv1.3 ve --tls-max seçeneklerine bakın. 7.34.0 sürümünde eklendi.
--tlsv1.2 (TLS) curl'ün uzak TLS sunucusuna bağlanırken en az TLS 1.2 veya daha yeni bir protokol sürümünü kullanmaya zorlamasını sağlar.
Eski curl sürümlerinde bu seçenek sadece TLS 1.2 kullanılmasına izin verirdi. Maksimum bir TLS sürümü belirlemek için --tls-max seçeneğine bakın.
--tlsv1.2 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --tlsv1.2 https://example.com
Ayrıca --tlsv1.3 ve --tls-max seçeneklerine bakın. 7.34.0 sürümünde eklendi.
--tlsv1.3 (TLS) curl'ün uzak TLS sunucusuna bağlanırken en az TLS 1.3 veya daha yeni bir protokol sürümünü kullanmaya zorlamasını sağlar.
Bağlantı TLS olmadan kuruluyorsa (örneğin HTTP/3 QUIC aktarımlarında) bu seçeneğin bir etkisi yoktur.
TLS 1.3 protokolü tüm TLS motorları ve kütüphaneleri tarafından desteklenmeyebilir.
--tlsv1.3 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --tlsv1.3 https://example.com
Ayrıca --tlsv1.2 ve --tls-max seçeneklerine bakın. 7.52.0 sürümünde eklendi.
-1, --tlsv1 (TLS) Sunucuyla bağlantı kurarken en az TLS 1.x protokol sürümünü (yani TLS 1.0 veya daha yüksek) kullanmaya zorlar.
--tlsv1 seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl --tlsv1 https://example.com
Ayrıca --http1.1 ve --http2 seçeneklerine bakın. TLSv1 desteği, alttaki libcurl kütüphanesinin TLS desteğiyle derlenmiş olmasını gerektirir. Bu seçenek --tlsv1.1, --tlsv1.2 ve --tlsv1.3 seçenekleriyle çakışır.
--tr-encoding (HTTP) curl'ün sunucudan sıkıştırılmış bir "Transfer-Encoding" yanıtı talep etmesini ve veriyi alırken otomatik olarak açmasını sağlar.
--tr-encoding seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-tr-encoding ile tekrar devre dışı bırakın.
Örnek: curl --tr-encoding https://example.com
Ayrıca --compressed seçeneğine bakın.
--trace-ascii
Bu seçenek --trace seçeneğine benzer ancak hex kısımlarını hariç tutarak yalnızca okunabilir ASCII verilerini görüntüler; bu sayede dökümün insanlar tarafından okunması çok daha kolay olur.
WARNING: Ayrıntılı ağ trafiği dökümleri kullanıcı adları, şifreler, çerezler veya özel içerikler gibi son derece hassas veriler barındırabilir. Bu döküm günlüklerini başkalarıyla paylaşırken çok dikkatli olun.
Bu seçenek globaldir.
Eğer --trace-ascii birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --trace-ascii log.txt https://example.com
Ayrıca -v, --verbose ve --trace seçeneklerine bakın. Bu seçenek --trace ve -v, --verbose seçenekleriyle çakışır.
--trace-config
Bileşen isimlerinin yanı sıra "ids" ve "time" parametreleri de eklenerek ekstra --trace-ids veya --trace-time seçeneklerinin getirdiği davranışlar entegre edilebilir.
Bileşenler hakkında ayrıntılı bilgi için curl_global_trace(3) kılavuz sayfasına bakın.
Bu seçenek globaldir.
--trace-config seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnek: curl --trace-config ids,http/2 https://example.com
Ayrıca -v, --verbose ve --trace seçeneklerine bakın. Bu seçenek --trace ve -v, --verbose seçenekleriyle çakışır. 8.3.0 sürümünde eklendi.
--trace-ids İzleme veya ayrıntılı çıktı satırlarının (-v, --verbose veya --trace) başına ilgili aktarım ve bağlantı kimlik numaralarını (IDs) ekler.
Bu seçenek globaldir.
--trace-ids seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-trace-ids ile tekrar devre dışı bırakın.
Örnek: curl --trace-ids --trace-ascii cikis https://example.com
Ayrıca --trace ve -v, --verbose seçeneklerine bakın. 8.2.0 sürümünde eklendi.
--trace-time İzleme veya ayrıntılı çıktı satırlarının (-v, --verbose veya --trace) başına bir zaman damgası (timestamp) ekler.
Bu seçenek globaldir.
--trace-time seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-trace-time ile tekrar devre dışı bırakın.
Örnek: curl --trace-time --trace-ascii cikis https://example.com
Ayrıca --trace ve -v, --verbose seçeneklerine bakın.
--trace
WARNING: Ayrıntılı ağ trafiği dökümleri şifreler, çerezler veya özel veriler gibi hassas veriler barındırabilir. Bu döküm günlüklerini başkalarıyla paylaşırken çok dikkatli olun.
Bu seçenek globaldir.
Eğer --trace birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --trace log.txt https://example.com
Ayrıca --trace-ascii, --trace-config, --trace-ids ve --trace-time seçeneklerine bakın. Bu seçenek -v, --verbose ve --trace-ascii seçenekleriyle çakışır.
--unix-socket
Eğer --unix-socket birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl --unix-socket soket-yolu https://example.com
Ayrıca --abstract-unix-socket seçeneğine bakın. 7.40.0 sürümünde eklendi.
-T, --upload-file
Uzak URL'de bir dosya adı belirtilmemişse, curl yerel dosyanın adını URL'nin sonuna otomatik olarak ekler. URL'de bir dizin belirtilirken en sonda mutlaka eğik çizgi ("/") kullanılmalıdır; aksi takdirde curl en sondaki dizin adını hedef dosya adı olarak kabul eder.
Yerel dosya adı URL'ye eklenirken, dosya adındaki yol kısımları (eğik çizgi veya ters eğik çizgi) atılır, yalnızca en sağdaki dosya adı kısmı kullanılır.
Yerel dosya adı olarak tek bir tire işareti ("-") belirtilirse, standart girdiden (stdin) okunan veriler yüklenir. Alternately, standart girdiyi engellemeyen (non-blocking) modda okumak ve yükleme sırasında sunucudan gelen yanıtları eş zamanlı okuyabilmek için dosya adı olarak "." (nokta) belirtilebilir.
Bu seçenek HTTP(S) URL'leriyle kullanıldığında PUT yöntemi tercih edilir.
Her URL için ayrı bir -T, --upload-file seçeneği belirtilebilir. Tek bir -T seçeneğiyle birden fazla yerel dosyayı tek bir URL'ye yüklemek için dosya seçimi (globbing) sözdizimi de kullanılabilir.
SMTP sunucusuna yükleme yapıldığında, yüklenen verilerin RFC 5322 uyumlu e-posta formatında olduğu varsayılır. Üst bilgiler ve e-posta gövdesinin kullanıcı tarafından doğru formatlandığından emin olunmalıdır; çünkü curl veriyi üzerinde hiçbir işlem veya kodlama yapmadan doğrudan iletir.
--upload-file seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl -T dosya.txt https://example.com curl -T "resim[1-10].png" ftp://ftp.example.com/resimler/
Ayrıca -G, --get, -I, --head, -X, --request ve -d, --data seçeneklerine bakın.
--url-query
Argümanın başına "+" (artı) işareti getirilirse, dize üzerinde hiçbir URL kodlama işlemi yapılmadan olduğu gibi ham olarak sorguya eklenir.
Sorgu dizesi, URL yolunun en sağındaki soru işaretinden ("?") sonra gelen kısımdır.
--url-query seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl --url-query isim=deger https://example.com curl --url-query "+sifre=%20gizli" https://example.com
Ayrıca --data-urlencode ve -G, --get seçeneklerine bakın. 7.87.0 sürümünde eklendi.
--url
Bu seçenek, komut satırı seçenekleri tarafından belirtilmeyen ham dize argümanları gibi çalışır.
Protokol belirtilmemişse, varsayılan olarak "http://" veya --proto-default seçeneğiyle ayarlanmış olan varsayılan protokol kabul edilir.
Tek bir istek grubu içinde birden fazla URL belirtilebilir. Örneğin:
curl --url URL1 --url URL2
Farklı seçenek gruplarıyla birden fazla URL grubu çalıştırmak için --next seçeneğine bakın.
--url seçeneği bir komut satırında birkaç kez kullanılabilir.
Örnekler: curl --url https://example.com curl --url "https://example.com/dosya[1-100].jpg"
Ayrıca --url-query ve --next seçeneklerine bakın. 7.15.5 sürümünde eklendi.
-B, --use-ascii (FTP LDAP) FTP dizin listeleme veya dosya indirme/yükleme işlemlerini ASCII modunda (metin modu) gerçekleştirmeye zorlar. LDAP aramalarında çıktıyı düz metin formatında görüntüler.
--use-ascii seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-use-ascii ile tekrar devre dışı bırakın (FTP için ikili/binary modunu etkinleştirir).
Örnek: curl -B ftp://example.com/dosya.txt
Ayrıca --ftp-method seçeneğine bakın.
-A, --user-agent
Belirtilen adın boş bir dize ("") olması durumunda, "User-Agent:" başlığı tamamen kaldırılır ve istekte gönderilmez.
Eğer --user-agent birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl -A "BenimHarikaİstemcim/1.0" https://example.com
Ayrıca -H, --header ve --referer seçeneklerine bakın.
-u, --user <kullanıcı:şifre> Sunucu kimlik doğrulaması (Basic, Digest, NTLM vb.) için kullanılacak kullanıcı adı ve şifreyi belirtir.
Yalnızca kullanıcı adı girilip şifre kısmı boş bırakılırsa veya şifre girilmezse (iki nokta üst üste olmadan), curl şifreyi girmek için terminalde güvenli bir şekilde kullanıcı etkileşimi başlatır.
Şifrenin başında veya içinde özel karakterler varsa, kabuk tarafından yanlış yorumlanmaması için tırnak içine alınmalıdır.
Eğer --user birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl -u admin:sifre123 https://example.com
Ayrıca --proxy-user seçeneğine bakın.
--variable <isim=değer> curl komut satırında veya yapılandırma dosyalarında kullanılabilecek özel bir değişken (variable) tanımlar.
Değişkenler %{{isim}} formatıyla URL veya diğer komut satırı seçenekleri içinde referans gösterilebilir. Bu, özellikle betiklerde veya büyük otomasyonlarda esneklik sağlamak için oldukça kullanışlıdır.
Örnek: curl --variable sunucu=example.com "https://%{{sunucu}}/"
Ayrıca -K, --config seçeneğine bakın. 8.3.0 sürümünde eklendi.
-V, --version curl ve kullanılan kütüphanelerin (libcurl, OpenSSL, zlib, libssh2 vb.) sürüm bilgilerini, desteklenen protokolleri ve özellikleri (features) görüntüler.
Bu seçenek globaldir.
--version seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur.
Örnek: curl -V
Ayrıca -h, --help seçeneğine bakın.
-w, --write-out %{{degisken}} formatındaki özel değişkenleri barındırabilir.
Çıktının standart hataya (stderr) yazılması için format dizesinin başına "%{{stderr}}" ekleyebilirsiniz.
Dosya içeriğini okumak ve format dizesi olarak kullanmak için "@dosya" formatını kullanabilirsiniz.
Desteklenen tüm biçimlendirme değişkenleri şunlardır:
certs (TLS) Alınan tüm sunucu sertifika zinciri detaylarını PEM formatında ekrana yazar.
content_type (HTTP) Yanıtın "Content-Type" başlığı değerini yoksayar veya görüntüler.
desc İşleminin sonucunu açıklayan kısa bir metin döndürür (örneğin hata açıklaması).
err İşlemin sayısal hata kodunu (çıkış kodunu) döndürür.
exitcode İşlemin sayısal çıkış kodunu döndürür.
filename_effective curl'ün en son hangi dosyaya çıktı kaydettiğini gösterir.
ftp_entry_path Uzak FTP sunucusuna giriş yapıldığında curl'ün ulaştığı ilk başlangıç dizin yolunu döndürür.
http_code En son alınan HTTP yanıt durum kodunu döndürür (örneğin 200, 404 vb.).
http_connect En son proxy CONNECT el sıkışmasından dönen HTTP durum kodunu döndürür.
http_version En son kullanılan HTTP sürümünü döndürür (örneğin 1.1, 2 vb.).
json Desteklenen tüm değişkenleri ve değerlerini içeren geçerli bir JSON çıktısı üretir.
local_ip Yerel bağlantının kurulduğu yerel IP adresini döndürür.
local_port Yerel bağlantının kurulduğu yerel port numarasını döndürür.
method En son yapılan HTTP istek yöntemini (GET, POST vb.) döndürür.
num_certs (TLS) Sunucu zincirinden alınan sertifikaların sayısını döndürür.
num_connects En son işlem grubunda kurulan yeni TCP bağlantılarının sayısını döndürür.
num_redirects Takip edilen yönlendirmelerin sayısını döndürür.
onerror Çıktının yalnızca curl bir hatayla sonlandığında yazdırılmasını sağlar.
proxy_ssl_verify_result HTTPS proxy sunucusunun SSL sertifikası doğrulama sonucunu döndürür (0 başarıyı gösterir).
redirect_url HTTP yönlendirmelerinde sunucu tarafından gönderilen asıl hedef URL'yi (Location) döndürür.
remote_ip Bağlantı kurulan uzak sunucunun IP adresini döndürür.
remote_port Bağlantı kurulan uzak sunucunun port numarasını döndürür.
response_code http_code değişkeni ile aynıdır.
scheme En son kullanılan protokol şemasını (HTTP, HTTPS, FTP vb.) döndürür.
size_download İndirilen toplam veri boyutunu bayt cinsinden döndürür.
size_header İndirilen protokol başlıklarının toplam boyutunu bayt cinsinden döndürür.
size_request Gönderilen istek başlıklarının toplam boyutunu bayt cinsinden döndürür.
size_upload Yüklenen toplam veri boyutunu bayt cinsinden döndürür.
speed_download Ortalama indirme hızını saniyede bayt cinsinden döndürür.
speed_upload Ortalama yükleme hızını saniyede bayt cinsinden döndürür.
ssl_verify_result Hedef sunucunun SSL sertifikası doğrulama sonucunu döndürür (0 başarıyı gösterir).
stderr İzleyen tüm biçimlendirilmiş çıktıların standart hata (stderr) akışına yönlendirilmesini sağlar.
stdout İzleyen tüm biçimlendirilmiş çıktıların standart çıktı (stdout) akışına yönlendirilmesini sağlar.
time_appconnect (TLS) TCP el sıkışmasından SSL/TLS el sıkışmasının tamamlanmasına kadar geçen süreyi saniye cinsinden döndürür.
time_connect Uzak sunucuya (veya proxy sunucusuna) TCP el sıkışmasının tamamlanması için geçen süreyi saniye cinsinden döndürür.
time_namelookup DNS isim çözümlemesinin tamamlanması için geçen süreyi saniye cinsinden döndürür.
time_pretransfer Bağlantı kurulup protokol hazırlıkları tamamlanana ve veri aktarımı başlamadan hemen öncesine kadar geçen süreyi saniye cinsinden döndürür.
time_redirect Yönlendirmeler takip edilirken DNS araması, bağlantı ve aktarım hazırlıkları dahil tüm yönlendirme adımlarının toplam süresini döndürür.
time_starttransfer İlk baytın alınmaya başlamasına kadar geçen süreyi saniye cinsinden döndürür (TTFB - Time to First Byte).
time_total Tüm curl işleminin tamamlanması için geçen toplam süreyi saniye cinsinden döndürür.
url En son işlem yapılan istek URL'sini döndürür.
url_effective En son ulaşılan nihai URL'yi döndürür (yönlendirmeler takip edilmişse son konumu gösterir).
urlnum İşlem yapılan URL'nin sıfır tabanlı sıra numarasını döndürür.
url.path İstek URL'sinin yol kısmını döndürür.
url.query İstek URL'sinin sorgu (query) kısmını döndürür.
url.user İstek URL'sinde sağlanan kullanıcı adı kısmını döndürür.
Eğer --write-out birkaç kez sağlanırsa, en son ayarlanan değer kullanılır.
Örnek: curl -w "Durum: %{{http_code}} Hız: %{{speed_download}} B/s\n" https://example.com
Ayrıca -o, --output ve -v, --verbose seçeneklerine bakın.
--xattr İndirilen dosyaların meta verilerini (URL, dosya boyutu vb.) yerel dosya sisteminin genişletilmiş dosya öznitelikleri (extended file attributes - xattr) alanına kaydeder.
Bu özellik yalnızca hedef dosya sistemi genişletilmiş öznitelikleri destekliyorsa çalışır.
--xattr seçeneğinin birden fazla kez sağlanmasının ekstra bir etkisi yoktur. --no-xattr ile tekrar devre dışı bırakın.
Örnek: curl --xattr -o dosya.bin https://example.com
Ayrıca -o, --output seçeneğine bakın. 7.21.3 sürümünde eklendi.
DOSYALAR
~/.curlrc
Kullanıcının ev dizinindeki varsayılan yapılandırma dosyasıdır. curl her çalıştığında bu dosyayı okur ve içindeki seçenekleri otomatik olarak uygular. Komut satırındaki seçenekler yapılandırma dosyasındaki ayarları geçersiz kılar.
Bu dosyanın okunmasını engellemek için -q, --disable seçeneğini kullanabilirsiniz.
ÇEVRE DEĞİŞKENLERİ
curl, ağ proxy ayarları, kullanıcı ev dizini ve dil ayarları için işletim sisteminin çevre değişkenlerini (environment variables) otomatik olarak algılar ve kullanır.
http_proxy / https_proxy / ftp_proxy / no_proxy
Sırasıyla HTTP, HTTPS ve FTP protokolleri için kullanılacak proxy sunucularını ve proxy üzerinden geçmemesi gereken etki alanlarını tanımlar.
HOME
Kullanıcının ev dizinini bulmak ve .curlrc veya .netrc gibi yapılandırma dosyalarını aramak için kullanılır.
ÇIKIŞ KODLARI
curl işlemler bittiğinde sistem durumunu bildirmek için bir çıkış kodu (exit code) döndürür. Yaygın çıkış kodları şunlardır:
1
Desteklenmeyen protokol veya şema belirtildi. curl bu protokol desteği olmadan derlenmiş olabilir.
2
curl'ün başlatılması başarısız oldu.
3
URL biçimi hatalı veya geçersiz.
4
İstenen özellik bu curl ikilisi veya kullanılan kütüphane tarafından desteklenmiyor.
5
Uzak sunucuya veya proxy sunucusuna bağlantı kurulamadı.
6
Ana bilgisayar adı çözümlenemedi (DNS araması başarısız).
7
Uzak sunucuya veya proxy sunucusuna bağlantı reddedildi.
8
FTP sunucusu geçersiz veya hatalı bir yanıt döndürdü.
9
FTP erişimi engellendi veya sunucu dizine erişim izni vermedi.
22
HTTP sunucusu 400 veya daha büyük bir hata kodu döndürdü (ve -f, --fail seçeneği etkindi).
26
Yerel dosya okunamadı veya dosya mevcut değil.
28
İşlem zaman aşımına uğradı (belirtilen süre sınırı aşıldı).
35
SSL/TLS el sıkışması başarısız oldu (güvenli bağlantı kurulamadı).
52
Sunucu hiçbir veri göndermeden bağlantıyı kapattı.
56
Ağ üzerinden veri alırken veya gönderirken hata oluştu.
63
Maksimum dosya boyutu sınırı aşıldı. Kullanıcı tarafından belirtilen sınır aşıldı veya dosya boyutu curl'ün oluşturabileceği maksimum dosya boyutunu aştı.
73
Dosya zaten mevcut ve oluşturulamadı.
74
Dosya zaten mevcut ve --no-clobber kullanıldı veya dosya zaten mevcut ve üzerine yazılamadı ya da oluşturulamadı.
78
Belirtilen uzak dosya veya kaynak mevcut değil.
Hatalar ve Bildirimler
Hata bildirimleri veya geri bildirimler için lütfen curl projesinin resmi web sitesini ziyaret edin:
https://curl.se/bugreport.html
YAZARLAR
curl projesi dünya genelindeki yüzlerce gönüllünün katkılarıyla geliştirilmektedir. Katkıda bulunanların tam listesi için şu adrese bakın: