يمكن أن يكون البرنامج النصي CGI بسيطًا أو معقدًا كما تحتاج إليه. يمكن أن يكون في بيرل ، جافا، بايثون أو أي لغة برمجة. في جوهره ، يأخذ تطبيق CGI طلبًا عبر HTTP (عادةً ما يكون مستعرض ويب) ويعيد HTML. دعونا نلقي نظرة على بيرل بسيط مرحبا بالعالم النصي CGI وتقسيمه إلى أبسط أشكاله.
"مرحبًا العالم" CGI Perl Script
#! / البيرة / بن / بيرل
طباعة "نوع المحتوى: text / html \ n \ n"؛
طباعة <A بيرل بسيط المجموعة الاستشارية لاندونيسيا A بيرل بسيط المجموعة الاستشارية لاندونيسيا
مرحبا بالعالم
لغة البرمجة
خروج؛
إذا قمت بتشغيل البرنامج في سطر الأوامر ، فسترى أنه يفعل بالضبط ما تتوقعه. أولا ، يطبع نوع المحتوى خط ، ثم يطبع HTML الخام. من أجل رؤيته قيد التنفيذ في متصفح الويب ، ستحتاج إلى نسخ البرنامج النصي أو تحميله على خادم الويب الخاص بك والتأكد من تعيين الأذونات بشكل صحيح (chmod 755 على أنظمة * nix). بمجرد تعيينها بشكل صحيح ، يجب أن تكون قادرًا على استعراضها ومشاهدة الصفحة المعروضة مباشرة على الخادم الخاص بك.
السطر الرئيسي هو أول عبارة مطبوعة:
طباعة "نوع المحتوى: text / html \ n \ n"؛
هذا يخبر المتصفح أن المستند يأتي بعد الاثنين
خطوط جديدة سيكون HTML. أنت يجب إرسال رأس حتى يعرف المستعرض نوع المستند الذي يليه ، ويجب عليك تضمين سطر فارغ بين الرأس والمستند الفعلي.بمجرد إرسال الرأس ، فإن الأمر يتعلق فقط بإرسال مستند HTML نفسه. في المثال أعلاه ، نستخدم مستند هنا لتبسيط طباعة جزء كبير من النص العادي. بالطبع ، هذا لا يختلف حقًا عن وجود مستند HTML عادي يجلس على الخادم الخاص بك. تأتي القوة الحقيقية لاستخدام لغة برمجة مثل Perl لإنشاء HTML الخاص بك عند إضافة بعض برامج Perl الفاخرة.
إضافة إلى البرنامج النصي الأساسي
في المثال التالي ، دعنا نشارك في هذا الوقت والتاريخ النصي وأضفه إلى صفحة الويب الخاصة بك.
#! / البيرة / بن / بيرل
@ أشهر = qw (يناير فبراير مارس أبريل مايو يونيو يوليو أغسطس سبتمبر أكتوبر نوفمبر نوفمبر) ؛
weekDays = qw (Sun Mon Tue Wed Thu Fri Sat Sun)؛
($ ثاني ، $ دقيقة ، $ ساعة ، $ dayOfMonth ، $ month ، $ yearOffset ، $ dayOfWeek ، $ dayOfYear ، $ daylightSavings) = localtime ()؛
$ year = 1900 + $ yearOsetset؛
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth، $ year"؛
طباعة "نوع المحتوى: text / html \ n \ n"؛
طباعة <A بيرل بسيط المجموعة الاستشارية لاندونيسيا A بيرل بسيط المجموعة الاستشارية لاندونيسيا
$ الوقت
لغة البرمجة
خروج؛
سيقوم هذا البرنامج النصي CGI الجديد بإدراج التاريخ الحالي في الصفحة في كل مرة يتم فيها استدعاء البرنامج النصي. وبعبارة أخرى ، يصبح أ ديناميكية المستند الذي يتغير كلما تغير التاريخ ، بدلاً من ثابتة وثيقة.