【发布时间】:2016-05-22 15:49:35
【问题描述】:
我正在使用来自 npm 的 cardi 模块,当我使用该模块的 fromUrl 方法时,我的回调没有被调用。我深入研究了模块的源代码,发现导致这种情况的部分是 request 方法。我将该部分复制到一个新文件中,添加了日志并运行它,它确实没有打印任何结果或错误/异常。
这很可能是由我提供的网址引起的:http://www.basedesign.com,因为它可以与任何其他网址一起使用。它只在开头记录 start 字符串。之后,它不会记录收到的响应或发生异常。如果我使用任何其他 url,它会成功打印 Response received。这个 basedesign url 是如何导致这个问题的?
编辑:我的 nodejs 版本是 v0.10.44,请求版本是 2.72.0。 较新版本的 nodejs 不会出现此问题,但是我需要使用 v0.10.x 版本的 node。
var request = require('request');
console.log('start');
try {
var url = 'http://www.basedesign.com';
var useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36';
var jar = request.jar();
var options = {
method: 'GET',
url: url,
followAllRedirects: true,
rejectUnauthorized: false,
headers: {
'User-Agent': useragent
},
jar: jar
};
request(options, function (error, resp, body) {
console.log('Response received');
if (error) {
console.log(error);
}
});
} catch (exception) {
console.log('Exception occured');
console.log(exception);
}
【问题讨论】:
标签: javascript node.js request