Beispiel HTTP GET

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of HTTP_GET by th.iotkit2.ch

Committer:
stefan1691
Date:
Fri Dec 11 18:12:29 2015 +0000
Revision:
8:7d8db739ea8c
Parent:
7:9e64ad8d11e7
Neues Apache Document Root Verzeichnis

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 7:9e64ad8d11e7 1 #!/bin/bash
stefan1691 7:9e64ad8d11e7 2 #
stefan1691 7:9e64ad8d11e7 3 # Abhandlung der REST Methoden GET, POST, PUT, DELETE
stefan1691 7:9e64ad8d11e7 4
stefan1691 7:9e64ad8d11e7 5 # HTTP Header fuer Client
stefan1691 7:9e64ad8d11e7 6 echo "Content-type: text/plain"
stefan1691 7:9e64ad8d11e7 7 echo ""
stefan1691 7:9e64ad8d11e7 8
stefan1691 7:9e64ad8d11e7 9 # / entfernen damit nicht in andere Verzeichnisse geschrieben werden kann
stefan1691 7:9e64ad8d11e7 10 QUERY_STRING=`echo $QUERY_STRING | sed 's:/::g'`
stefan1691 7:9e64ad8d11e7 11
stefan1691 7:9e64ad8d11e7 12 #
stefan1691 7:9e64ad8d11e7 13 ### GET
stefan1691 7:9e64ad8d11e7 14 #
stefan1691 7:9e64ad8d11e7 15 if [ "$REQUEST_METHOD" = "GET" ]
stefan1691 7:9e64ad8d11e7 16 then
stefan1691 7:9e64ad8d11e7 17 if [ "$PATH_INFO" = "/time" ]
stefan1691 7:9e64ad8d11e7 18 then
stefan1691 7:9e64ad8d11e7 19 date "+%Y.%m.%d %H:%M:%S"
stefan1691 7:9e64ad8d11e7 20 elif [ "$PATH_INFO" = "/timestamp" ]
stefan1691 7:9e64ad8d11e7 21 then
stefan1691 7:9e64ad8d11e7 22 date "+%s"
stefan1691 7:9e64ad8d11e7 23 else
stefan1691 7:9e64ad8d11e7 24 printf "hello $PATH_INFO from `hostname` at `date '+%Y.%m.%d %H:%M:%S'`\n"
stefan1691 7:9e64ad8d11e7 25 fi
stefan1691 7:9e64ad8d11e7 26 fi
stefan1691 7:9e64ad8d11e7 27
stefan1691 7:9e64ad8d11e7 28 #
stefan1691 7:9e64ad8d11e7 29 ### POST
stefan1691 7:9e64ad8d11e7 30 #
stefan1691 7:9e64ad8d11e7 31 if [ "$REQUEST_METHOD" = "POST" ]
stefan1691 7:9e64ad8d11e7 32 then
stefan1691 7:9e64ad8d11e7 33 # Zerlegt den Querystring in Einzelteile
stefan1691 7:9e64ad8d11e7 34 saveIFS=$IFS
stefan1691 7:9e64ad8d11e7 35 IFS='=&'
stefan1691 7:9e64ad8d11e7 36 parm=(`cat -`)
stefan1691 7:9e64ad8d11e7 37 IFS=$saveIFS
stefan1691 7:9e64ad8d11e7 38
stefan1691 7:9e64ad8d11e7 39 echo "append to http://`hostname`/data/post.txt"
stefan1691 8:7d8db739ea8c 40 printf "${REMOTE_ADDR} `date "+%Y.%m.%d %H:%M:%S"` " >>/var/www/html/data/post.txt
stefan1691 7:9e64ad8d11e7 41 for (( index = 0; index < ${#parm[@]}; index += 2 ))
stefan1691 7:9e64ad8d11e7 42 do
stefan1691 8:7d8db739ea8c 43 printf "${parm[index]} = ${parm[index+1]} " >>/var/www/html/data/post.txt
stefan1691 7:9e64ad8d11e7 44 done
stefan1691 8:7d8db739ea8c 45 printf "\n" >>/var/www/html/data/post.txt
stefan1691 7:9e64ad8d11e7 46 fi
stefan1691 7:9e64ad8d11e7 47
stefan1691 7:9e64ad8d11e7 48 #
stefan1691 7:9e64ad8d11e7 49 ### PUT
stefan1691 7:9e64ad8d11e7 50 #
stefan1691 7:9e64ad8d11e7 51 if [ "$REQUEST_METHOD" = "PUT" ]
stefan1691 7:9e64ad8d11e7 52 then
stefan1691 7:9e64ad8d11e7 53 echo "write to http://`hostname`/data/$QUERY_STRING"
stefan1691 8:7d8db739ea8c 54 cat - >/var/www/html/data/$QUERY_STRING
stefan1691 7:9e64ad8d11e7 55 fi
stefan1691 7:9e64ad8d11e7 56
stefan1691 7:9e64ad8d11e7 57 #
stefan1691 7:9e64ad8d11e7 58 ### DELETE
stefan1691 7:9e64ad8d11e7 59 #
stefan1691 7:9e64ad8d11e7 60 if [ "$REQUEST_METHOD" = "DELETE" ]
stefan1691 7:9e64ad8d11e7 61 then
stefan1691 7:9e64ad8d11e7 62 echo "delete http://`hostname`/data/$QUERY_STRING"
stefan1691 8:7d8db739ea8c 63 rm -f /var/www/html/data/$QUERY_STRING
stefan1691 7:9e64ad8d11e7 64 fi