Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:curl.setopt不是函数]_Javascript_Node.js_Node Libcurl - Fatal编程技术网

Javascript TypeError:curl.setopt不是函数]

Javascript TypeError:curl.setopt不是函数],javascript,node.js,node-libcurl,Javascript,Node.js,Node Libcurl,我是一个新手,正在尝试基于poloniex.js API创建一个应用程序。获取错误类型错误:curl.setopt不是一个函数]set node curl(不工作)和node libcurl(部分工作,但函数似乎表达不正确)两个卷曲之间有点混淆)节点卷曲过时了,也许这就是问题所在,你能告诉我哪里出了问题吗 'use strict'; var autobahn = require('autobahn'), crypto = require('crypto'), a

我是一个新手,正在尝试基于poloniex.js API创建一个应用程序。获取错误类型错误:curl.setopt不是一个函数]set node curl(不工作)和node libcurl(部分工作,但函数似乎表达不正确)两个卷曲之间有点混淆)节点卷曲过时了,也许这就是问题所在,你能告诉我哪里出了问题吗

    'use strict';

    var autobahn = require('autobahn'),
    crypto = require('crypto'),
    async = require('async'),
    https = require('https'),
    nonce = require('nonce')(),
    querystring = require('querystring'),
    Curl = require('node-libcurl').Curl,
    microtime = require('microtime'),
    events = require('events'),
    util = require('util');

    var Poloniex = function Poloniex() {};

    Poloniex._query_tradeApi = function (req, callback) {
    var post_data,
    hash = crypto.createHmac('sha512', "key-key-key"),
    sign,
    received,
    headers;

    nonce = (new Date()).getTime() * 1000;
    post_data = querystring.stringify(req);
    hash.update(post_data);
    sign = hash.digest("hex");

    try {
    headers = [ 'Key: ' + "SECRET-SECRET-SECRET", 'Sign: ' + sign ];

    var curl = new Curl(),
    close = curl.close.bind( curl );
    curl.setopt('URL', 'https://poloniex.com/tradingApi/');
    curl.setopt('POST', 1);
    curl.setopt('POSTFIELDS', post_data);
    curl.setopt('HTTPHEADER', headers);

    received = '';

    curl.on('data', function (chunk) {
        received += chunk;
        return chunk.length;
    });

    curl.on('header', function (chunk) {
        return chunk.length;
    });

    curl.on('error', curl.close.bind( curl ),function (e) {
        console.error('exchanges/poloniex', '_query_tradeApi', e, 
    req, e.stack);
        callback(e, undefined);
        curl.perform();
        curl.close();
    });

    curl.on('end', function () {
        try {

            var data = JSON.parse(received);
            callback(undefined, data);

        } catch (ex) {
            console.error('exchanges/poloniex', '_query_tradeApi', 
    ex,     req, ex.stack);
            callback(ex, received);
        }

        curl.close();
    });

    curl.perform();

    } catch (ee) {
    console.error('exchanges/poloniex', '_query_tradeApi', ee, 
    req,  ee.stack);
    callback(ee, received);
    }
    };

所需的语法是curl.setOpt,而不是curl.setOpt。

作为提示放弃curl并使用Node.js请求模块获取或发布数据。是的,谢谢..尽管没有看到有区别(更改后,您会收到相同的错误消息?如果是这样,那将很奇怪,并表明您在调用该方法时仍有不正确的语法。我的意思是,在规范curl.setOpt saw中,它正好需要此语法。此问题已得到修复。但显然代码中充满了错误。现在,我将检查我是否我们回答了原来的问题,请马克回答,