NPM 请求未从泰文 url 获取 html。 (网页抓取)

NPM Request not get html from thai url. (Web Scraping)

此代码不会在控制台中显示 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");
        }
});

第二个代码工作正常。我可以将 มอเตอไซค์ 更改为 %E0%B8%A1%E0%B8...(更多)吗?或者,如果可能的话,http://pantip.com/tag/Honda_(มอเตอร์ไซค์) 我在使用 npm request 时表现如何?感谢您的帮助。

第一个工作正常。只需记录错误而不是 "error" 字符串。

确保您的 IDE 支持 utf 字符。否则保存它可能会改变它。这就是为什么您可能会出错的原因。

更新。现在我可以通过这个

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

使用encodeURI。 http://www.javascripter.net/faq/escape.htm