0

このコードはコンソールに html を表示せず、エラーを表示します

var request = require('request');
var thai_url = "http://pantip.com/tag/Honda_(มอเตอร์ไซค์)";

request(thai_url, function (error, response, html) {
        if (!error && response.statusCode === 200) {
            console.log(html);
        } else {
            console.log("Error");
        }
});

しかし、thai_url を มอเตอร์ไซค์ から %E0%B8%A1%E0%B8%AD%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C% に変更します。 E0%B9%84%E0%B8%8B%E0%B8%84%E0%B9%8C

このような

var request = require('request');

var thai_url = "http://pantip.com/tag/Honda_(%E0%B8%A1%E0%B8%AD%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B9%84%E0%B8%8B%E0%B8%84%E0%B9%8C)";

request(thai_url, function (error, response, html) {
        if (!error && response.statusCode === 200) {
            console.log(html);
        } else {
            console.log("Error");
        }
});

2番目のコードは正しく機能しています。มอเตอไซค์ を %E0%B8%A1%E0%B8...(more) に変更できますか? または、可能であれば、http://pantip.com/tag/Honda_(มอเตอร์ไซค์) npm request で作業するにはどうすればよいですか? 助けてくれてありがとう。

4

2 に答える 2

0

最初のものは正常に動作しています。「エラー」文字列の代わりにエラーをログに記録するだけです。

IDE が utf 文字をサポートしていることを確認してください。そうしないと、保存時に変更される可能性があります。そのため、エラーが発生する可能性があります。

于 2015-08-20T09:21:14.240 に答える
0

アップデート。これでこの問題を解決できます

var thai_url = encodeURI("http://pantip.com/tag/Honda_(มอเตอร์ไซค์)");

エンコードURIを使用します。http://www.javascripter.net/faq/escape.htm

于 2015-08-20T10:11:20.677 に答える