Cgi koodinäiteid

Allikas: Lambda

Shelli skript, mis kuvab kataloogi listingu:

#!/bin/sh
echo 'content-type: text/html'
echo
echo ' uus ok leht olemas '
ls -l

Pythoni skript, mis trükib ühe sõna kolm korda:

#!/usr/bin/python

def foo():
  print "<p>miskijutt</p>"

print "content-type: text/html"
print
print "ok !! jalle olemas"
foo()
foo()
foo()

C "hello world" programm, mis tuleks kompileerida.

#include <stdio.h>

int main(void) {
    printf("content-type: text/html\n\n");
    printf("Tere ise ka!\n");
  
    /*
    fflush(stdout);
    exit(0);
    */
}

Shelli skript, mis kuvab etteantud cgi parameetrid:

#!/bin/sh
echo 'content-type: text/html'
echo
echo ' uus ok leht olemas '
echo $QUERY_STRING

C näide, mis liidab kahte arvu (NB! csapp.h tuleb võtta tiny veebiserverist, vt kursuse lehel tiny.zip)

/*
 * adder.c - a minimal CGI program that adds two numbers together
 */
#include "csapp.h"

int main(void) {
    char *buf, *p;
    char arg1[MAXLINE], arg2[MAXLINE], content[MAXLINE];
    int n1=0, n2=0;

    /* Extract the two arguments */  
    if ((buf = getenv("QUERY_STRING")) != NULL) {       
        p = strchr(buf, '&');
        *p = '\0';
        strcpy(arg1, buf);
        strcpy(arg2, p+1);
        n1 = atoi(arg1);
        n2 = atoi(arg2);        
    }
          
    /* Make the response body */
    sprintf(content, "Welcome to add.com: ");
    sprintf(content, "%sTHE Internet addition portal.\r\n<p>", content);
    sprintf(content, "%sThe answer is: %d + %d = %d\r\n<p>", 
            content, n1, n2, n1 + n2);
    sprintf(content, "%sThanks for visiting!\r\n", content);
  
    /* Generate the HTTP response */
    // printf("content-length: %d\r\n", strlen(content));
    printf("content-type: text/html\n\n");
    printf("%s", content);
    fflush(stdout);
    exit(0);
}

Shelli skript, mis paneb käima java rakenduse (klassi nimega proov) Taneli läpakas: teistel on vaja programmide/failide asukohad muuta enda masina jaoks sobivaks, samuti pane java käsk ühe rea peale, mitte kahele reale, nagu allpool!!!

NB! IT Kolledzhis on vaja enne java käsu rida skripti kirjutada lisaks

 cd /tmp

Miks see vajalik on, ei ole hetkel teada.

#!/bin/sh
/usr/local/java/j2sdk1.4.2_02/bin/java -cp /home/tanel/Lectures/Vorgurak1/Cgiproov/  
    proov $QUERY_STRING

Java programmi näide, mida saab eelmise skriptiga käivitada

import java.io.*;

public class proov {

 public static void main(String[] args) {
    String ls_str;

    System.out.println("content-type: text/html");
    System.out.println("");
    System.out.println("<p>OK algus javast on siin</p>");
    System.out.println(args[0]);
 }

}