当我搜索浏览器仿真时,结果千差万别。长话短说,我需要我的Node服务器进行get和post请求。通常我会使用http包来实现这个目的。然而,在另一端有一些反脚本技术。主要是JavaScript,让服务器知道它是一个真正的浏览器。所以,我需要执行这些脚本。
实际上,我在5年前解决了这个问题,但那时我的网站只使用PHP。解决方案涉及使用Qt WebKit小部件和虚假的X服务器。虽然不太优雅,但很容易实现。当时我发现Perl、PHP或Python中唯一可用的JavaScript引擎都非常慢。
由于NodeJS基于V8构建,我认为一定有一种简单的方法可以做到这一点。记录一下,我希望能得到以下内容。
实际上,我在5年前解决了这个问题,但那时我的网站只使用PHP。解决方案涉及使用Qt WebKit小部件和虚假的X服务器。虽然不太优雅,但很容易实现。当时我发现Perl、PHP或Python中唯一可用的JavaScript引擎都非常慢。
由于NodeJS基于V8构建,我认为一定有一种简单的方法可以做到这一点。记录一下,我希望能得到以下内容。
// Omitting some callbacks
http.get('http://remote.site', function(res) {
res.on('end', function() {
// previously accumulated data is the page returned by
// the request. Any thing found in a <script> tag would have
// been executed.
});
});