0

node curl を使用して WS を呼び出しています。リクエストを発行するだけの簡単な関数を作成し、レスポンスをログに記録しています。これは私のserver.jsがどのように見えるかです:

var http = require('http');
var curl = require('node-curl');
var config = require('./config');

var cfgObj = new config.config();
function start(port) {
    function onRequest(request, response) {
        console.log("Request received");
        var options = {
            VERBOSE: 1,
            RAW: 1
        };
        curl.debug = 1;
        curl.setDefaultOptions(options);
        curl('www.google.com', function(err) {
            console.log(this.body);
        });
    }
    http.createServer(onRequest).listen(port);
}

cfgObj.getConfig(null, function(data) {
    start(data.port);
});

cfgObj にはポート番号のみが含まれています。ホストに適切に接続され、HTTP 200 OK 応答も得られました。

[cURL 1] 2242 バイトを受信 [cURL 1] 受信に成功しました。

しかし、最後に次のように述べています。

バス エラー: 10

これは何を意味するのでしょうか?

コントロールは、this.body を印刷している関数を呼び出すことはありません。http リクエストを使用してみましたが、「ソケットがハングアップしました」というエラーが表示されます。

この問題をデバッグできませんでした。手がかりはありますか?

4

1 に答える 1

3

node-curlMac で使用しようとすると、同じエラーが表示されます。

[2]    34539 bus error  node test.js

(バス エラーは、プログラムが無効なメモリ位置に書き込もうとしたときに発生するエラーです)

の代替は次のとおりですnode-curl: https://github.com/mikeal/request

于 2013-02-22T07:24:47.677 に答える