我的http服务器出了问题,这是代码:
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
const request = require('request');
var dpi = "half api code type 1";
var ipn = "half api code type 2";
var close = "2nd half api code ";
var ipnTable = ['table with links'];
var dpiTable = ['table with links',];
request(dpi+dpiTable[0]+close { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
console.log(body.url);
console.log(body.explanation);
});
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080, 'ip / hostname of my machine - idk what to chose');
它在Mac上工作,但我在机器上收到一些错误,请看:
0|serwer2 | at Server.<anonymous> (/home/ubuntu/smcheck/serwer2.js:10:17)
0|serwer2 | at emitTwo (events.js:106:13)
0|serwer2 | at Server.emit (events.js:191:7)
0|serwer2 | at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:546:12)
0|serwer2 | at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
0|serwer2 | Error: Cannot find module 'request'
0|serwer2 | at Function.Module._resolveFilename (module.js:469:15)
0|serwer2 | at Function.Module._load (module.js:417:25)
0|serwer2 | at Module.require (module.js:497:17)
0|serwer2 | at require (internal/module.js:20:19)
0|serwer2 | at Server.<anonymous> (/home/ubuntu/smcheck/serwer2.js:10:17)
0|serwer2 | at emitTwo (events.js:106:13)
0|serwer2 | at Server.emit (events.js:191:7)
0|serwer2 | at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:546:12)
请帮助我们,我不知道该怎么做......
我试图向一个网站的api发送请求,在mac上我收到未定义的响应 - 可能是因为api服务器正在使用revdns进行身份验证。
问题是,为什么我一直都有同样的问题,如果你知道如何将api服务器的响应放到某个div中,那就太好了。
谢谢,啤酒给所有感兴趣的人。
答案 0 :(得分:1)
默认情况下,您不能要求全局安装的npm模块
而不是npm install request -g
做npm install request --save
它正在您的Mac上运行,可能是因为有一个指向全局node_modules
目录的NODE_PATH环境变量。在Linux中,您可以通过以下方式执行此操作:export NODE_PATH=/usr/lib/node_modules
(您的计算机上的路径可能不同)