Skip to content

علامات curl مشروحة

علامات curl المستخدمة يوميًا، مجمعة حسب المهمة: تشكيل الطلب، وضبط الترويسات، والمصادقة، وتقديم هوية، والتحكم في المخرجات، ومتابعة إعادة التوجيه، وضبط الاتصال، وتصحيح الأخطاء. يقرن كل صف العلامة بنداء واقعي.

يرسل curl طلب HTTP ويطبع نص الاستجابة. معظم قوته في العلامات: فهي تختار الطريقة، وترفق الترويسات والبيانات، وتتولى المصادقة، وتحدد ما يُطبع. تُعرض الصيغة الطويلة حيث تكون أوضح؛ والصيغة القصيرة هي الحرف الوحيد. ضع عناوين URL بين علامات اقتباس حتى لا يبتلع الـ shell نص الاستعلام.

جدول مرجعي · 54 مدخلات
54 of 54 rows
شكل الطلب
يعيّن طريقة HTTP.curl -X POST https://api.test
يضيف ترويسة إلى الطلب.curl -H "Accept: application/json" URL
يرسل نصًا (يعيّن POST ونوع محتوى افتراضيًا).curl -d "name=Ada" URL
يضيف قيم -d كمعاملات استعلام إلى طلب GET.curl -G -d "q=hi" URL
يرسل بيانات نموذج متعدد الأجزاء (رفع الملفات).curl -F "file=@photo.png" URL
يرسل بيانات نموذج مع تطبيق ترميز URL.curl --data-urlencode "name=Ada Lovelace" URL
يرفع ملفًا باستخدام PUT.curl -T big.zip URL
يضيف الرفع إلى الملف البعيد بدلًا من استبداله.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON وواجهات API
يرسل JSON بنوع المحتوى الصحيح.curl -H "Content-Type: application/json" -d '{"a":1}' URL
يرسل محتويات ملف كنص للطلب.curl -d @body.json URL
يرسل JSON دون ضبط الترويسات يدويًا (curl 7.82+).curl --json '{"a":1}' URL
المصادقة
مصادقة HTTP Basic باسم مستخدم وكلمة مرور.curl -u ada:s3cr3t URL
يرسل رمز OAuth bearer.curl --oauth2-bearer TOKEN URL
يرسل أي مخطط رموز يدويًا.curl -H "Authorization: Bearer TOKEN" URL
يقدم شهادة عميل ومفتاحها من أجل TLS المتبادل.curl --cert client.pem --key key.pem URL
يتحقق من الخادم مقابل ملف حزمة CA واحد.curl --cacert ca.pem URL
يتحقق من الخادم مقابل دليل من CA.curl --capath /etc/ssl/certs URL
يرسل الطلب عبر وسيط.curl -x http://proxy.test:8080 URL
يتخطى التحقق من TLS لقفزة الوسيط فقط.curl -x https://proxy.test:8443 --proxy-insecure URL
يفرض TLS 1.3 كأقل إصدار.curl --tlsv1.3 URL
الهوية
يرسل سلسلة User-Agent مخصصة.curl -A "Mozilla/5.0" URL
يرسل ترويسة Referer.curl -e https://example.com/page URL
يرسل ملفات تعريف الارتباط مع الطلب.curl -b "session=abc123" URL
يحفظ ملفات تعريف الارتباط من الاستجابة في ملف.curl -c cookies.txt URL
المخرجات
يكتب نص الاستجابة إلى ملف.curl -o page.html URL
يحفظ النص باستخدام اسم الملف البعيد.curl -O https://site/file.tgz
يطبع ترويسات الاستجابة فوق النص.curl -i URL
يجلب الترويسات فقط (يرسل HEAD).curl -I URL
يخفي عداد التقدم والأخطاء.curl -s URL
يطبع سلسلة تنسيق بعد النص (التوقيت، الحالة).curl -w "%{http_code}\n" -o /dev/null URL
يخرج برمز غير صفري عند أخطاء HTTP ويتخطى نص الخطأ.curl -f URL
يخرج برمز غير صفري عند أخطاء HTTP لكنه يطبع النص رغم ذلك.curl --fail-with-body URL
يسمي الملف المحفوظ من ترويسة Content-Disposition.curl -OJ URL
يستأنف نقلًا متقطعًا من حيث توقف.curl -C - -O URL
يعرض شريط تقدم بدلًا من العداد الافتراضي.curl -# -O URL
يطبع الأخطاء حتى في الوضع الصامت.curl -sS URL
يكتب ترويسات الاستجابة إلى ملف.curl -D headers.txt URL
يطلب استجابة مضغوطة ويفك ترميزها.curl --compressed URL
ينشئ الأدلة الناقصة في مسار -o.curl -o cache/api/data.json --create-dirs URL
إعادة التوجيه والاتصال
يتابع إعادة توجيه 3xx.curl -L URL
أقصى ثوانٍ لانتظار اتصال TCP.curl --connect-timeout 5 URL
أقصى ثوانٍ للطلب بأكمله.curl --max-time 30 URL
يتخطى التحقق من شهادة TLS.curl -k https://self-signed.test
يعيد محاولة الأخطاء العابرة حتى N مرة.curl --retry 3 URL
يعيد المحاولة عند أي خطأ، لا العابرة فقط.curl --retry 3 --retry-all-errors URL
يفرض الاتصال عبر IPv4 أو IPv6.curl -4 URL
يربط مضيفًا ومنفذًا بعنوان، متجاوزًا DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
يربط النقل بواجهة شبكة أو عنوان.curl --interface eth0 URL
ينقل عدة عناوين URL في الوقت نفسه.curl -Z URL1 URL2
يستخدم HTTP/2 أو HTTP/3 للنقل.curl --http3 URL
يبث النص عند وصوله بدلًا من تخزينه مؤقتًا.curl -N URL
يقرأ مزيدًا من العلامات من ملف إعدادات.curl -K flags.cfg URL
تصحيح الأخطاء
يطبع تبادل الطلب والاستجابة كاملًا.curl -v URL
يعمل تفريغ سداسي لكل ما يُرسل ويُستقبل.curl --trace - URL