Frage

Ich führe Node.js auf Heroku aus und habe eine einfache Test -URL auf Express eingerichtet, um eine Kundenanforderung zu stellen, aber sie stürzt die Anwendung jedes Mal ab und ich bin mir nicht sicher, warum.

Ich versuche, den Server einen einfachen Anruf zu machen https://graph.facebook.com/btaylor

Mein verwandter Server.js Inhalt:

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

Dies sieht ziemlich einfach aus, aber er stürzt den Server bei jedem Besuch von Server/Test ab.

Ich weiß, dass ich den richtigen Code drücke, denn wenn ich zum Beispiel die Zeile "var http = ..." entferte, bekomme ich ein "HTTP nicht definiert", da es versucht, http.createclient auszuführen.

War es hilfreich?

Lösung

Verwenden Sie das https Modul für node.js, um eine Verbindung zu HTTPS -Websites herzustellen. Die Art und Weise, wie Sie es tun, ist für einfache Anforderungsdaten übermäßig kompliziert.

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

Sie können auch in Betracht ziehen, zu verwenden Anfrage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top