带有unicode字符串的NodeJS https.get导致错误请求

时间:2015-07-05 16:24:58

标签: node.js unicode

有人可以帮我调试以下代码段吗?它使用unicode字符查询WikiMedia API,在本例中为简体中文 问题是使用最新的(0.12.6)节点版本(从源代码构建)和选项:

--with-intl=full-icu --download=all  

导致空体。检查响应以查找错误请求 但是,相同的代码片段与节点版本0.10.25一起工作正常(我想我是从Ubuntu包管理器获得的)。看似旧版本默认具有国际化支持,而较新版本则不支持。

如何使用以下代码处理最新的nodejs版本?

// Generated by CoffeeScript 1.9.3
(function() {
  var GET, cmd, https, languageCode, options;

  https = require('https');

  GET = function(options, callback) {
    return https.get(options, function(response) {
      var body;
      body = '';
      response.on('data', function(data) {
        return body += data;
      });
      return response.on('end', function() {
        return callback(body, response);
      });
    });
  };

  languageCode = 'zh';

  cmd = '笔记本电脑';

  options = {
    host: languageCode + '.wikipedia.org',
    path: '/w/api.php?action=opensearch&search=' + cmd
  };

  GET(options, function(body, response) {
    return console.log(response);
  });

}).call(this);

1 个答案:

答案 0 :(得分:0)

原来是Node中的错误:https://github.com/joyent/node/issues/25634