Tag: networking抓取

节点JS用于前端

我听说Node.js被用在应用程序的前端而不是后端,但是我找不到任何可以使用它的用例。 有人可以解释在前端使用Node.js的用例吗? 对于一个相当复杂的系统,如电子商务网站的CMS(内容pipe理系统),Node.js会是正确的select吗? 提前致谢

使用Gigya API和node.js

对于我的一个项目,我想尝试Gigya作为我的社交networking连接提供商,并使用Node.js编写我的应用程序。 有没有人做过这个? Gigya提供了一个旨在用于客户端的JavaScript API。 http://developers.gigya.com/020_Client_API 应该可以适应服务器端的使用。

处理Node.js套接字数据

我有服务器从客户端接收数据[GPS设备]。 我有一个可读的格式呈现数据(即从客户端获得的结果)的问题。 以下是我尝试过的东西。 这样做: console.log(data) 我明白了 <Buffer d0 d7 3d 00 c4 56 7e 81> 也试过 console.log(data.toString()) 但是我得到不想要的结果:见下面: A V~ 这是我的完整代码: var net = require('net'); var fs = require('fs'); var server = net.createServer(function (socket) { console.log('Server started: Waiting for client connection …'); console.log('Client connected:port,address: '+socket.remotePort, socket.remoteAddress); socket.on('data', function (data) { var date = new Date(); […]

无法从stream浪主机访问节点快递应用程序

我是新来的networking和分配端口和这种性质的东西。 我一直在使用stream浪汉,从来没有任何问题试图获得testing环境,然后通过主机浏览器访问它。 在我的stream浪文件中为此设置是这样的: # network stuff config.vm.network "forwarded_port", guest: 8000, host: 8000 config.vm.network "private_network", ip: "192.168.33.10" config.vm.hostname = "test-box-debian" 现在我正在学习一些关于node.js的知识,每个教程都说我可以运行npm start ,而且这个工作正常。 我可以调用wget localhost:3000 (端口3000是默认的快速),并返回从快递的index.html默认页面。 但是,当我尝试从主机浏览器访问“192.168.33.10:3000”时,它不起作用。 我可以运行netstat并得到以下结果: sudo netstat -ltpn | grep 3000 tcp6 0 0 :::3000 :::* LISTEN 17238/node 我可以看到有些东西看起来不正确,但是我不太了解端口和networking知道什么是错的,以及如何解决这个问题。

Nightmare.js条件浏览

我试图了解如何使用“if-then”逻辑来制作nightmare.js脚本。 例如 var Nightmare = require('nightmare'); var nightmare = Nightmare({ show: true, paths: { userData: '/dev/null' } }); nightmare .goto('http://www.example.com/') .wait('h1') .evaluate(function() { return document.querySelector('title').innerText; }) // here: go to url1 if title == '123' otherwise to url2 .end() .then(function() { console.log('then', arguments); }).catch(function() { console.log('end', arguments); }); 如何根据评估结果将这个脚本转到不同的url?

“一切都是中间件”

我正在学习Koa JS,用于构build小型Web应用程序的服务器端部分。 看着YouTube教程和阅读指南,我看到一句话:“一切都是中间件(在Koa)。 我已经阅读了关于中间件的维基百科文章,并且search了这个术语,而且我对中间件是什么(很低层的东西和高层次编程之间的中间层)有一个粗略的理解。 但是我不明白“一切都是中间件”这个说法在Web应用程序和NodeJS的背景下是什么意思,为什么这是相关的。

节点的networking工作者是否会光顾erlang?

我很好奇Erlang是否会被Node.js杀死,而Node.js可能会非常stream行,速度很快,并且有networking工作者 。 可能吗? 为什么? 但是多处理器并发性呢? 不是将程序扩展到多核计算机所必需的线程? 进程是扩展到多核计算机所必需的,而不是内存共享线程。 可扩展系统的基础是快速networking和非阻塞devise – 其余的是消息传递。 在未来的版本中,Node将能够派生新的进程(使用Web Workers API),这很适合当前的devise。

从下拉菜单中select选项并使用nodejs提交请求

我正在使用nodejs来报废一个网站,而且我对nodej很陌生。网站的初始页面是一个popup窗口,其中必须从selectbox中select选项,然后才能提交,稍后可以浏览页面。这必须先完成时间,然后它将被存储为cookie供以后使用。 我能够得到popup式HTML页面,但我不能从select框中select选项并提交请求。 这是我的代码 var express = require('express'); var request=require('request'); var cheerio=require('cheerio'); var j = request.jar(); //var cookie = request.cookie(); j.setCookie("city_id=1; path=/; domain=.bigbasket.com", 'http://bigbasket.com/', function(error, cookie) { //console.log("error"+error.message); console.log("cookie "+cookie); }); var app=express(); app.get('/', function(req, res){ console.log("hi"); var sessionVal = req.session; request({uri:'http://bigbasket.com/', headers:{'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36' , 'content-type':'application/x-www-form-urlencoded; […]

节点幻像不在网页上启用JavaScript

我正在使用节点幻像将项目发布到网站上的购物车。 问题是,当我使用page.open导航到购物车页面(已经添加到购物车后),我得到一个HTML响应,说我需要在浏览器中启用JavaScript以查看购物购物车页面。 我已经检查了settings.javascriptEnabled设置,并发现它被设置为“true”。 在这一点上,我很困惑,为什么页面认为phantomjs没有启用JavaScript? 这是我的代码: var phantom = require('node-phantom'); phantom.create(function (err, ph) { ph.createPage(function (err, page) { page.get('settings', function(err, oldSettings) { console.log('\r\n oldSettings: ' + JSON.stringify(oldSettings)); page.open('http://www.somesite.com/shoppingcart/default.cfm', function (err, status) { page.injectJs(jqueryPath, function (err) { setTimeout(function() { page.evaluate(function (injectedSku) { var localErr; var skuInCart; var checkoutLnkMsg; var pageHTML; try { pageHTML = $("html").html(); // Get […]

nodejs – 我发现multithreading或使用多个进程比单个进程慢。 为什么?

我有一个CPU密集型任务(循环通过一些数据和评估结果)。 我想利用这些多核心,但我的performance一直比使用单个核心更糟糕。 我试过了: 在不同的端口上创build多个进程,并将任务发送到这些进程 使用webworker-threads来使用线程池在不同线程中运行任务 通过计算我可以完成的迭代总数并除以我在这个问题上花费的时间来衡量结果。 当使用单核时,我的结果明显更好。 一些兴趣点: 我可以确定何时使用一个内核,何时通过任务pipe理器使用多个内核。 我正在使用预期的内核数量。 我有很多的内存 我已经试过在2或3个内核上运行 我添加了nextTicks,在这种情况下似乎没有任何影响 每个任务都需要几秒钟的时间,所以我不觉得自己失去了很多开销 有什么想法在这里发生了什么? 线程更新:我怀疑webworker线程中的错误跳过表示现在,我认为这个问题可能与我的线程循环。 我正在做的是创build一个线程,然后试图连续运行它们,但在它们之间来回发送数据。 即使这两个线程正在使用CPU,只有线程0返回值。 我的假设是散发出来的,通常最终会把信息传递给闲置时间最长的线程,但似乎并非如此。 我的设置看起来像这样 在threadtask.js中 thread.on('init', function() { thread.emit('ready'); thread.on('start', function(data) { console.log("THREAD " + thread.id + ": execute task"); //… console.log("THREAD " + thread.id + ": emit result"); thread.emit('result', otherData)); }); }); main.js var tp = Threads.createPool(NUM_THREADS); tp.load(threadtaskjsFilePath); […]