0

Node.js を使用した非常に単純な JavaScript があります。スクリプトの目的は次のとおりです。

  • リッスン ソケットを開く
  • HTTP 関数 GET を使用して URL /test のハンドラーを追加する
  • /test が要求されると、別の外部 Web サイトにある別の URL を取得する必要があります。この Web サイトは ISO-8859-1 でエンコードされています
  • 外部 Web サイトから返されたデータは、JSON 構造にパッケージ化され、UTF-8 でエンコードされた要求側クライアントに返される必要があります。

これまでのところ、次のコードを作成しました。

var Buffer = require('buffer').Buffer;
var iconv  = require('iconv-lite');
var urllib = require('url');
var restify = require('restify');
var server = restify.createServer();

server.use(restify.bodyParser());
server.get('/test', test);
server.listen(8080, function() {
  console.log('%s listening at %s', server.name, server.url);
});

function test(req, res, next) {
    console.log('TEST');

    var httpClient = restify.createStringClient({ url: "http://dl.dropboxusercontent.com" });
    httpClient.get("/u/815962/iso-8859-1.html", function(cerr, creq, cres, cdata) {
        cdata = iconv.decode(cdata, 'iso-8859-1');

        res.send(200, {"Data": cdata}); 
    });     
}

上記のコードで使用されるテスト ドキュメントをセットアップしました。テスト ドキュメントは ISO-8859-1 エンコーディングであり、その中に国別文字「ÅÄÖåäö」が含まれています。クライアントに返されたときに、UTF-8 のように読み取った場合、「ýýýýýý」を受け取ります。

4

1 に答える 1