Cgi examples: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
8. rida: 8. rida:
http://dijkstra.cs.ttu.ee/~tammet/loeng/
http://dijkstra.cs.ttu.ee/~tammet/loeng/


* tst1 - hello world
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst1 tst1] - hello world
* tst2 - error: no content-type
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst2 tst2] - error: no content-type
* tst3 - QUERY_STRING and SCRIPT_NAME  
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst3 tst3] - QUERY_STRING and SCRIPT_NAME  
* tst4 - tst3, but with html content-type
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst4 tst4] - tst3, but with html content-type
* tst5 - all kinds of environment vars
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst5 tst5] - all kinds of environment vars
* tst6 - näita kataloogi ja failide sisu, kõik klikitav. Proovi nii: tst6?. (või tst6?proov)  
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst6 tst6] - näita kataloogi ja failide sisu, kõik klikitav. Proovi nii: tst6?. (või tst6?proov)  
* tst7 - näita nimelisi cgi parameetreid (kasutab väikest parsimisteeki). Proovi: tst7?asas tst7?a=11&b=22 tst7?a=11&b=22&b=33  
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst7 tst7] - näita nimelisi cgi parameetreid (kasutab väikest parsimisteeki). Proovi: tst7?asas tst7?a=11&b=22 tst7?a=11&b=22&b=33  
* tst8 - nagu tst7.c, aga trükib lisaks form4.html sisu lõppu
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/tst8 tst8] - nagu tst7.c, aga trükib lisaks form4.html sisu lõppu


==== html forms for c programs ====
==== html forms for c programs ====
21. rida: 21. rida:
http://dijkstra.cs.ttu.ee/~tammet/loeng/
http://dijkstra.cs.ttu.ee/~tammet/loeng/


* form1.html - tst4 get
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/form1.html form1.html] - tst4 get
* form2.html - tst7 get
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/form2.html form2.html] - tst7 get
* form3.html - tst7 POST
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/form3.html form3.html] - tst7 POST
* form4.html - nagu form2, aga callib tst8 mis trükib sama vormi lõppu
* [http://dijkstra.cs.ttu.ee/~tammet/loeng/form4.html form4.html] - nagu form2, aga callib tst8 mis trükib sama vormi lõppu


== Bash cgi programs ==
== Bash cgi programs ==

Redaktsioon: 15. oktoober 2015, kell 10:54

NB! Kõik sourced leiad kataloogist http://dijkstra.cs.ttu.ee/~tammet/loeng/ näiteks http://dijkstra.cs.ttu.ee/~tammet/loeng/tst1.c ja http://dijkstra.cs.ttu.ee/~tammet/loeng/tst1.py jne

Kui tahad source näha, siis downloadi ja vaata oma masinas: serverist otse brauserisse neid ei näidata.

C cgi programs and forms for calling

Avamiseks kirjuta programmi nimi selle urli otsa http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/loeng/ ja vaatamiseks ava http://dijkstra.cs.ttu.ee/~tammet/loeng/

  • tst1 - hello world
  • tst2 - error: no content-type
  • tst3 - QUERY_STRING and SCRIPT_NAME
  • tst4 - tst3, but with html content-type
  • tst5 - all kinds of environment vars
  • tst6 - näita kataloogi ja failide sisu, kõik klikitav. Proovi nii: tst6?. (või tst6?proov)
  • tst7 - näita nimelisi cgi parameetreid (kasutab väikest parsimisteeki). Proovi: tst7?asas tst7?a=11&b=22 tst7?a=11&b=22&b=33
  • tst8 - nagu tst7.c, aga trükib lisaks form4.html sisu lõppu

html forms for c programs

http://dijkstra.cs.ttu.ee/~tammet/loeng/

Bash cgi programs

  • tst1.sh - hello world koos QUERY_STRING-ga
  • tst2.sh - hello world koos ls käsuga
  • tst3.sh - hello world koos ls $QUERY_STRING käsuga (proovi tst3.sh?proov /tst3.sh?. /tst3.sh?.. /tst3.sh?/home)

Python cgi programs

http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/loeng/

  • tst1.py - hello world
  • tst2.py - hello world htmls, AGA ilma apachel kävitamisõiguseta
  • tst3.py - tst3, kus tehtud chmod a+x tst3.py
  • tst4.py - trükib parameetri a
  • tst5.py - kontrollib ja siis trükib parameetri a
  • tst6.py - liidab parameetrid a ja b: tst6.py?a=1&b=2 ILMA integeri tshekita (proovi tst6.py?a=ee&b=pp)
  • tst7.py - tst7.py cgitb-ga, tst7.py?a=ee&b=pp näitab arusaadava vea
  • tst8.py - tst7.py, kus lõpuks trükitakse välja vorm, kus ka autocomplete="off"
  • tst9.py - nagu tst8, aga hulga eri liiki vormiväljadega, EI kontrolli multiple value juhtumit
  • tst10.py - nagu tst9, aga kontrollib multiple value juhtumit ja näitab siis listi

html forms for python programs

http://dijkstra.cs.ttu.ee/~tammet/loeng/

  • form5.html - tst5.py GET
  • form6.html - tst5.py POST