2013-07-13 29 views
0

我定義下一個HTTP請求:的node.js/get請求&在HTTP模塊定義根文件夾

var http = require("http"); 
http.get("http://localhost:8001/pro.html", function(respond) { 
    check();}).on('error', function(e) { 
    console.log("Got err: " + e.message); 
}); 

現在,在服務器側I定義下一個:

var server = net.createServer(function(socket) { 
// Some code 
socket.on('data', function(d) { 
var t = http.request(d, function (res){ 
      console.log(d); 
      console.log(res.statusCode); 
     }); 
// Some code} 

我有兩個問題:

  1. 什麼都不打印。爲什麼它沒有達到console.log(d);console.log(res.statusCode);
  2. Pro.html位於c://myFolder。我如何告訴我的服務器這個頁面的位置?

謝謝。

+0

什麼是d,它沒有在你的代碼中定義? – mpm

+0

@mpm:對不起,我改正了 – user2579252

回答

0

它看起來像你試圖使用低級套接字模塊('網絡')來實現一個HTTP服務器。正確的模塊是 'HTTP'(Node.js HTTP documentation),以及實現簡單:

你的客戶端:

var http = require("http"); 

http.get("http://localhost:8001/pro.html", function(response) 
{ 
    response.setEncoding("utf8"); 
    response.on("data", function(data) 
    { 
     console.log("response:", data); 
    }); 

}).on("error", function(e) 
{ 
    console.log("Got err: " + e.message); 
}); 

和服務器端:

var http = require("http"); 

var server = http.createServer(function(request, response) 
{ 
    response.end("Here's your pro page!\n") 

}).listen(8001); 

注意,上面提供了一個不切實際的簡單服務器,它返回一個固定的響應,而不考慮請求的URL。在任何實際的應用程序中,您都可以使用一些邏輯將請求的URL映射到回調函數(用於生成動態內容),靜態文件服務器,全包框架(如'express')或上述的組合。