ترميز النماذج
الدرس 34 من 47 في دورة التعامل مع الشبكات عبر الطرفية على Coddy.
عند استخدام -d، يضيف curl ترويسة تصف تنسيق نص الطلب:
Content-Type: application/x-www-form-urlencodedذلك الاسم الطويل هو التنسيق الذي لطالما استخدمته نماذج HTML: أزواج key=value موصولة باستخدام &. يقرأ الخادم تلك الترويسة ويعرف أنه يجب تقسيم نص الطلب عند تلك المحارف.
وهذا يثير السؤال الواضح: ماذا يحدث إذا احتوت قيمة ما على & أو =؟ يجب تهريبها، وذلك بكتابتها كعلامة نسبة مئوية ورقمين ست عشريين. تصبح المسافة %20 أو +، وتصبح علامة العطف %26.
ينفّذ --data-urlencode عملية التهريب هذه نيابةً عنك، وينبغي أن تفضّله لأي شيء يكتبه مستخدم. إن إرسال إدخال المستخدم الخام عبر -d العادي هو ما يجعل الحقول تُقتطع بشكل غامض عند أول علامة عطف.
التحدي
صعبتأكّد من الترويسة التي يختارها curl لك.
- ابدأ مستمع الالتقاط على المنفذ 9124
- أرسل طلب POST بالبيانات
a=1باستخدام-d - اطبع سطر Content-Type من
req.txt
الناتج المتوقّع:
Content-Type: application/x-www-form-urlencodedطابِق دون حساسية لحالة الأحرف وثبّت المطابقة عند بداية السطر.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعامل مع الشبكات عبر الطرفية
4هل يمكن الوصول إليه؟
ICMP و pingقراءة مخرجات pingعندما يكذب pingمرفوض أم انتهت المهلة؟مراجعة: قابلية الوصول7إرسال البيانات
POST مع -dما الذي يرسله -d فعليًاترميز النماذجإرسال JSONPUT و DELETEمراجعة: كتابة البياناتتدرّب بنفسك: Playground لـ Terminal