Node.js
http
Suche…
http-Server
Ein einfaches Beispiel für einen HTTP-Server.
Schreiben Sie folgenden Code in die Datei http_server.js:
var http = require('http');
var httpPort = 80;
http.createServer(handler).listen(httpPort, start_callback);
function handler(req, res) {
var clientIP = req.connection.remoteAddress;
var connectUsing = req.connection.encrypted ? 'SSL' : 'HTTP';
console.log('Request received: '+ connectUsing + ' ' + req.method + ' ' + req.url);
console.log('Client IP: ' + clientIP);
res.writeHead(200, "OK", {'Content-Type': 'text/plain'});
res.write("OK");
res.end();
return;
}
function start_callback(){
console.log('Start HTTP on port ' + httpPort)
}
Führen Sie dann an Ihrem http_server.js-Verzeichnis den folgenden Befehl aus:
node http_server.js
Sie sollten dieses Ergebnis sehen:
> Start HTTP on port 80
Jetzt müssen Sie Ihren Server testen. Öffnen Sie Ihren Internetbrowser und navigieren Sie zu dieser URL:
http://127.0.0.1:80
Wenn Ihr Computer mit einem Linux-Server läuft, können Sie es folgendermaßen testen:
curl 127.0.0.1:80
Sie sollten folgendes Ergebnis sehen:
ok
In Ihrer Konsole, die die App ausführt, werden Sie folgende Ergebnisse sehen:
> Request received: HTTP GET /
> Client IP: ::ffff:127.0.0.1
http client
ein grundlegendes Beispiel für einen http-Client:
Schreiben Sie den folgenden Code in die Datei http_client.js:
var http = require('http');
var options = {
hostname: '127.0.0.1',
port: 80,
path: '/',
method: 'GET'
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
});
res.on('end', function (chunk) {
console.log('Response ENDED');
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.end();
Führen Sie dann an Ihrem http_client.js-Verzeichnis den folgenden Befehl aus:
node http_client.js
Sie sollten dieses Ergebnis sehen:
> STATUS: 200
> HEADERS: {"content-type":"text/plain","date":"Thu, 21 Jul 2016 11:27:17 GMT","connection":"close","transfer-encoding":"chunked"}
> Response: OK
> Response ENDED
Hinweis: Dieses Beispiel hängt vom Beispiel eines http-Servers ab.