Simple node.jsクライアントリクエストは、Herokuでクラッシュします

StackOverflow https://stackoverflow.com/questions/8337785

  •  26-10-2019
  •  | 
  •  

質問

Herokuでnode.jsを実行していますが、クライアントのリクエストを行うためにExpressに簡単なテストURLが設定されていますが、毎回アプリケーションがクラッシュしますが、その理由はわかりません。

私はサーバーに簡単に電話をかけるようにしようとしています https://graph.facebook.com/btaylor

私の関連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が定義されていない」を取得します。

役に立ちましたか?

解決

使用 https node.jsのモジュールは、HTTPS Webサイトに接続します。あなたがそれをする方法は、単純な要求データのために過度に複雑です。

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);

また、使用を検討することもできます リクエスト.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top