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");
        }
});

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

4

2 回答 2

0

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

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

于 2015-08-20T09:21:14.240 回答
0

更新。现在我可以通过这个解决这个问题

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

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

于 2015-08-20T10:11:20.677 回答