var request = require('superagent')
request
.get("http://10.6.10.104:19000/workspace/index.jsp")
.redirects(0)
.end(function(result){
console.log(result); // 为什么是null
});
我做错了什么?or系统约束了什么?
试试看带err的,
.end(function(err, result){
console.log(result);
}
看看有没有什么问题?
@lishinko = = 原来如此。。。多谢。。。 我还说呢。。。.
var http = require("http");
http.get("http://10.6.10.104:19000", function(res) {
console.log("Got response: " + res.statusCode);
});
输出的很开心啊
可是为什么啊?
网址换成百度的就可以愉快的输出
好吧。你的彩色代码是怎么输出的? 其实我刚刚入门nodejs.只是正好碰到这个我前几天在研究的问题.
虽然没有用过 superagent ,但像这种 callback 第一个参数为 err 基本上是一种通用约定。况且 superagent 的文档上也有说明。 至于 http.get ,这里也有说明 :http://nodejs.cn/api/http.html#http_http_get_options_callback 这里的编辑器是采用 markdown 语法的,只要标记为 code block 的块就有语法着色, 方法是在前后各加三个反引号(esc键下面)就可以了,编辑器左边倒数第二个 i 字有圆圈的那个按钮,点一下就可以看到 md 语法的介绍
Got response: 200
而且
request
.post("www.baidu.com").get(function(result){
console.log(result)
})
//并不会是null
感谢您指出这些细节问题,我就这么两句代码,没必要那么在意板式吧,tab也一样嘛
延伸一个问题啊,如果是爬取动态的页面的,就是页面还没绘制完成,你就获取 body 肯定是"",怎么等待
@CarlosRen sorry, markdown 是跟 lishinko 说的。 @lishinko 这里的编辑器是采用 markdown 语法的,只要标记为 code block 的块就有语法着色, 方法是在前后各加三个反引号(esc键下面)就可以了,编辑器左边倒数第二个 i 字有圆圈的那个按钮,点一下就可以看到 md 语法的介绍
@ChrisFuck superagent, http 都不支持获取动态内容。你要看下 nightmare 和 phantom 了
@klesh 谢谢,我现在看看
@klesh 我用request爬的时候返回乱码,返回的body怎么转UFT-8
如果用 nightmare / phantom 之类的话,编码就没有问题了。 转换编码的话,已经在 https://cnodejs.org/topic/545de1e1a68535a174fe51b5#5658445c05e5f19802a61da9 这里回复了。
@klesh phantom安装完成之后,一直提示require(’…’).create is not a function ,遇到过吗?我是windows环境,cmd里phantomjs可以正常执行
@klesh sorry,搞定了。。
//不需要webpage 这样就可以了
var phantom = require('phantom');
function capture(){
var phantom = require('phantom');
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open('https://www.baidu.com', function () {
console.log(new Date());
page.render('example.png');
ph.exit();
});
});
}, {
dnodeOpts: {
weak: false
}
});
}
exports.ScreenCapture = capture;
解决了就好,但是 phantom 怎么要 var 2次?
@klesh 失误 ,没注意