我正在Heroku上运行Node.js,我在express上设置了一个简单的测试网址来发出客户端请求,但每次都会崩溃应用程序,我不知道为什么。
我正在尝试让服务器对https://graph.facebook.com/btaylor
进行简单的GET调用我的相关server.js内容:
app.get('/test', function(request, response) {
var http = require('http');
var test_client = http.createClient(443, "graph.facebook.com", true);
var facebook_request = test_client.request("GET", "/btaylor", {
"host":"graph.facebook.com"
});
facebook_request.on('response',function(facebook_response){
facebook_response.on('data',function(chunk){
console.log(chunk);
});
facebook_response.on('end', function() {
console.log("DONE");
});
});
facebook_request.end();
});
这看起来非常简单,但每次访问服务器/测试时它都会崩溃服务器。
我知道我正在使用正确的代码,因为如果我删除了例如“var http = ...”这一行,我会在尝试运行http.createClient时获得“未定义的http”。 / p>
答案 0 :(得分:1)
使用node {js的https
模块连接到https网站。对于简单的请求数据,您的方式过于复杂。
var express = require("express");
var app = express.createServer();
app.get('/test', function(request, response) {
var https = require('https');
response.writeHead(200);
https.get({ host: 'graph.facebook.com', path: '/btaylor' }, function (res) {
console.log(res);
response.end(res.body);
});
});
app.listen(process.env.PORT);
您也可以考虑使用request。