kdw
Joined: 05 May 2006 Posts: 1462
|
Posted: 29.09.2014, 06:25 Post subject: PHP Support … |
|
|
Hallo Forum.
Für einen eSOM/3517 gibt es eine PHP-Laufzeitumgebung. Man kann in PHP zum Beispiel sehr einfach einen HTTP-REST-Request erzeugen. Speichern Sie den folgenden Code in einer Datei /flash/rest_get_1.php im Verzeichnis /flash:
Code: | <?php
// Create socket ...
if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg \n");
}
// Connect socket to remote server ...
if(!socket_connect($sock , '127.0.0.1' , 80))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not connect: [$errorcode] $errormsg \n");
}
// Send HTTP request to eSOM/3517 server ...
$message = "GET /fde-http/kwk/Temision HTTP/1.1\r\nHost: 127.0.0.1\r\nConnection: close\r\n\r\n";
if(!socket_send ( $sock , $message , strlen($message) , 0))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not send data: [$errorcode] $errormsg \n");
}
// Receive and print-out the server response ...
if(socket_recv ( $sock , $buf , 2045 , MSG_WAITALL ) === FALSE)
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not receive data: [$errorcode] $errormsg \n");
}
echo $buf;
?>
|
Bringen Sie den PHP-Code durch die folgende Eingabe zur Ausführung:
Sie müssten folgende Aushabe erhalten:
Code: | HTTP/1.1 200 OK
Content-type: text/plain; charset=UTF-8
Cache-Control: no-cache
Connection: close
Transfer-Encoding: chunked
Date: Mon, 29 Sep 2014 05:03:41 GMT
Server: lighttpd/1.4.26
c
556.977684
0 |
Die Zeichen vor und hinter dem Wert „556.977684“ haben mit dem HTTP chunked response Format der Serverantwort zu tun.
Siehe auch: http://www.binarytides.com/php-socket-programming-tutorial/
Gruß KDW |
|