1

node.js を使用して Cloud9 のサーバーに POST を送信しようとしています。Postmaster を使用すると、問題なく動作します。これを node.js に変換し、http モジュールを追加したので、関連するコードは次のようになります。

 var http = require("http");
 var options = {
            "method": "POST",
            "hostname": [
                "192.168.153.188"
            ],
            "port": "8080",
            "path": [
                "index.php"
            ],
            "headers": {
                "Content-Type": "text/plain",
                "cache-control": "no-cache",
                "Postman-Token": "19ed6137-291e-45e7-b4c3-04e62c0c89dc"
            }
        };

        var req = http.request(options, function(res) {
            var chunks = [];

            res.on("data", function(chunk) {
                chunks.push(chunk);
            });
            res.on("end", function() {
                var body = Buffer.concat(chunks);
                console.log(body.toString());
            });
        });
        req.end();

投稿を送信すると、次のエラーが表示されます。

/var/lang/bin/node[1]: ../src/tcp_wrap.cc:247:static void node::TCPWrap::Connect(const v8::FunctionCallbackInfo<v8::Value>&): Assertion `args[1]->IsString()' failed.
 1: node::Abort() [/var/lang/bin/node]
 2: node::Assert(char const* const (*) [4]) [/var/lang/bin/node]
 3: node::TCPWrap::Connect(v8::FunctionCallbackInfo<v8::Value> const&) [/var/lang/bin/node]
 4: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) [/var/lang/bin/node]
 5: 0x55ccab57a28b [/var/lang/bin/node]
 6: 0x55ccab57ac27 [/var/lang/bin/node]

ノードを に更新しました。これらは他のソリューションで機能するソリューションであるためv8.15、試しnpm i nativesてみましたが、それでも同じエラーが発生します。また、http の代わりに request と Unirest を使用してみましたが、両方で何かが起こる前に接続がタイムアウトします。

4

0 に答える 0