यहाँ एक सरल लिंक है, जो hello.py नामक एक CGI स्क्रिप्ट से जुड़ा हुआ है। यह फ़ाइल /var/www/cgi-bin निर्देशिका में रखी गई है और इसमें निम्नलिखित सामग्री है। अपना CGI प्रोग्राम चलाने से पहले, सुनिश्चित करें कि आपके पास chmod 755 hello.py का उपयोग करके फ़ाइल का परिवर्तन मोड है फ़ाइल को निष्पादन योग्य बनाने के लिए UNIX कमांड।
उदाहरण
#!/usr/bin/python print "Content-type:text/html\r\n\r\n" print '</html>' print '</head>' print '</title>Hello Word - First CGI Program<//title>' print '<//head>' print '</body>' print '</h2>Hello Word! This is my first CGI program<//h2>' print '<//body>' print '<//html>'
आउटपुट
यदि आप hello.py क्लिक करते हैं, तो यह निम्न आउटपुट उत्पन्न करता है -
Hello Word! This is my first CGI program
यह hello.py स्क्रिप्ट एक साधारण पायथन स्क्रिप्ट है, जो अपना आउटपुट STDOUT फ़ाइल, यानी स्क्रीन पर लिखती है। एक महत्वपूर्ण और अतिरिक्त सुविधा उपलब्ध है जो मुद्रित होने वाली पहली पंक्ति है Content-type:text/html\r\n\r\n . यह लाइन ब्राउज़र को वापस भेज दी जाती है और यह ब्राउज़र स्क्रीन पर प्रदर्शित होने वाली सामग्री प्रकार को निर्दिष्ट करती है।
अब तक आप CGI की मूल अवधारणा को समझ चुके होंगे और आप Python का उपयोग करके कई जटिल CGI प्रोग्राम लिख सकते हैं। यह स्क्रिप्ट RDBMS जैसी सूचनाओं के आदान-प्रदान के लिए किसी अन्य बाहरी सिस्टम से भी इंटरैक्ट कर सकती है।
HTTP हैडर
लाइन कंटेंट-टाइप:टेक्स्ट/एचटीएमएल\r\n\r\n HTTP हेडर का हिस्सा है जो कंटेंट को समझने के लिए ब्राउजर को भेजा जाता है। सभी HTTP शीर्षलेख निम्नलिखित रूप में होंगे -
HTTP Field Name: Field Content
उदाहरण
Content-type: text/html\r\n\r\n
कुछ अन्य महत्वपूर्ण HTTP शीर्षलेख हैं, जिनका आप अपने CGI प्रोग्रामिंग में अक्सर उपयोग करेंगे।
<टेबल> <थहेड>एक MIME स्ट्रिंग लौटाई जा रही फ़ाइल के स्वरूप को परिभाषित करती है। उदाहरण सामग्री-प्रकार है:टेक्स्ट/एचटीएमएल
सूचना के अमान्य होने की तिथि। इसका उपयोग ब्राउज़र द्वारा यह तय करने के लिए किया जाता है कि किसी पृष्ठ को कब ताज़ा करना है। एक मान्य दिनांक स्ट्रिंग 01 जनवरी 1998 12:00:00 GMT प्रारूप में है।
अनुरोधित URL के बजाय लौटाया गया URL। आप किसी भी फ़ाइल के अनुरोध को पुनर्निर्देशित करने के लिए इस फ़ील्ड का उपयोग कर सकते हैं।
संसाधन के अंतिम संशोधन की तिथि।
लौटाए जा रहे डेटा की लंबाई, बाइट्स में। फ़ाइल के अनुमानित डाउनलोड समय की रिपोर्ट करने के लिए ब्राउज़र इस मान का उपयोग करता है।
स्ट्रिंग . से गुजरने वाली कुकी सेट करें