Tag: web

节点SOAP WSDL请求不完整(只有一些块)

我无法使用node-soap npm模块访问SOAP Web服务。 这就是我想要的: var url = 'https://ws-uat.ewinerysolutions.com/2.00/EWSWebServices.asmx?wsdl'; soap.createClient(url, function(err, client) { if(err) { console.log(err); } console.log(client.describe()); } 这不会出错,但会logging一个空的对象。 检查client显示返回的XML被截断,这反过来使node-soap模块不能构build适当的客户端。 XML的确切长度在16348字节的数量上波动。 如果我移动WSDL以引用本地文件,则client.describe()将按预期执行,并且对Web服务的调用也可用。 然而,对这种请求的更长的回应也会以类似的方式截断。 这导致我相信有一些东西在所有的数据块被接收之前closures了连接,所以我检出了请求 npm模块(也与节点打包在一起)。 为了解决这个问题,我试图只使用请求模块来检索WSDL : var request = require('request'); var body = ""; request.get('https://ws-uat.ewinerysolutions.com/2.00/EWSWebServices.asmx?wsdl') .on('data', function(data){ body += data; }).on('end', function() { console.log(body); }) 查看返回被截断的XML正文的实时版本 。 我已经有了这些工作之前,这些相同的库,只是为了确保我已经尝试运行相同的程序与一系列旧版本的依赖库。 我对这个东西也还是比较新的,所以任何帮助/指针都将不胜感激!

关于在AWS NodeJS上使用TypeScript (获取TS的堆栈跟踪而不是JS)

我正在考虑将我当前的js代码库转换为在NodeJS中使用TypeScript。 有一点我关心的是,如果请求发生错误,我可以在AWS CloudWatch(请求日志)中看到堆栈跟踪,以了解导致问题的确切代码行。 如果我使用打字稿,我想日志仍然可以指向我从转录js文件的崩溃行。 但我想知道是否有可能给我的ts文件,而不是我自己的ts文件,而不是js文件。 谢谢

如何使用AWS Rekognition服务通过Node.js检测人脸

我正在尝试使用Amazon Rekognition服务与Node.js, 我用一个示例程序将一张脸部图像上传到S3服务中,现在我想用Node.js检测脸部 代码如下 // Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Load credentials and set region from JSON file AWS.config.loadFromPath('./config.json'); var rekognition = new AWS.Rekognition({apiVersion: '2016-06-27'}); var s3 = new AWS.S3({apiVersion: '2006-03-01'}); / *此操作检测存储在AWS S3存储桶中的图像中的人脸。 * / var params = { Image: { S3Object: { Bucket: "rekognitionfortesting", Name: "face1.jpeg" } […]

节点Js响应

我有一个关于Node Js响应的一般性问题,希望有人能够解释当我做res.WriteHead(“blah blah”)的时候实际发生了什么。 所以从我的理解我的HTML和JavaScript我请求一个路线。 我检查路线的请求,并让它说一个get方法。 我写头会写一个HTTP响应的头。 如果我发送res.write(“一些文本”)会发生什么情况。 我问的是你能解释一下客户端和服务器之间的通信过程和实际情况。 我有点困惑的答复是这一个消息被发回或像这样的一个stream。 有关整个过程的解释,将不胜感激。 我正在谈论的一些示例代码。 请注意即时通讯使用NodeJS //加载http模块var http = require('http'); //创build服务器var server = http.createServer(handleRequest); //启动服务器server.listen(2000); //请求处理函数函数handleRequest(req,res){ console.log(req.method+" request for "+req.url); // content header res.writeHead(200, {'content-type': 'text/plain'}); res.write("ohai!\n"); // write message body and send res.end("Hello, World!"); };

如何使用节点JS调用PostgreSQL函数参数?

我是PostgreSQL和节点JS的新手。 我正在使用节点js创buildWeb服务。 我在PostgreSQL中创build了函数并成功执行了。 现在我想通过节点JS调用这个函数,但我不知道如何发送参数值。 我想通过节点JS在表中插入两个值“task_name”和“task_type”。 我怎样才能做到这一点? PostgreSQL函数 – CREATE FUNCTION inserttask(task_name text, task_type text) RETURNS void AS $BODY$ BEGIN INSERT INTO tasklist(taskname, tasktype) VALUES(task_name, task_type); END; $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; 节点js代码 – app.param(['task_name', 'task_type'], function (req, res, next, value) { console.log('CALLED ONLY ONCE with', value); next(); }); app.get('/inserttask/:task_name/:task_type', function (req, res, next) { […]

Node.js是成千上万人使用的Web应用程序的不错select,但是只有其中一些人才能访问相同的数据

我试图决定是否值得花时间投入学习Node.js的新程序。 AFAIU最大的好处就是Node让多个用户访问相同数据的过程比使用Apache和PHP更有效率。 该程序旨在被群体使用,所有的数据存储在我们的专用服务器上。 也就是说,同一个数据最多可以被一个组的所有成员访问(最多20个),但是数据库本身可能被任何使用该程序的人访问(为了好玩,假设多达100万)。 我的并发思想最好是基本的。 Node.js是否会改善组的体验(因为他们正在访问相同的数据),还是为每个人(因为他们正在访问相同的数据库)? 另外,这样的设置是否利用了Node的好处?

node.io:作业完成后,重新执行

我正在用node.io创build一个刮板。 我想要报废的页面每分钟都有新的内容。 我想每隔一分钟就一次又一次地做我的工作。 (好吧,我可以做一个bash脚本,但我想留在JavaScript)这是一个基本的工作: var nodeio = require('node.io'), options = {timeout: 10}; exports.job = new nodeio.Job(options, { input: ['hello', 'foobar', 'weather'], run: function (keyword) { this.getHtml('http://www.google.com/search?q=' + encodeURIComponent(keyword), function (err, $) { var results = $('#resultStats').text.toLowerCase(); this.emit(keyword + ' has ' + results); }); } }); 我怎么能这样做? 我是node.js的初学者,我尝试了setInterval这个工作(:没有成功。

减lessnodejs服务器上的CPU利用率

我正在研究有趣的方法来减lessNodeJS服务器上的CPU利用率。 在我的研究中,我发现了以下文章: http : //engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile 这些都是优秀的技巧,但我有一个关于提示#4的问题。 这是否意味着用户请求“JavaScriptTemplate.html”,然后请求所有的JSON(这里没有实现)? 假设所有的dynamic内容都应该在没有用户交互的情况下可用(例如,在button点击事件中请求JSON),实现这一点的最好方法是什么? 我可以想到加载额外的JS依赖项(requirejs),其中执行函数来请求JSON的东西。 由于我从来没有看到大网站调用静态html文件,而是请求路由到他们的应用程序服务器上面的链接build议的解决scheme有多普遍? 他们真的使用服务器端模板来浪费大部分静态文本内容的CPU利用率吗? 对于Node(expressJS)来说,这必定是一个次优的方法,特别是如果要生成的HTML相当复杂……理想情况下,Node应该只是作为提供JSON数据的API服务器来运行。 你有什么想法可以分享吗?

从浏览器中隐藏服务器端技术信息

我已经安装了用于Firefox浏览器的Wappalyzer插件。 当我访问我的Web应用程序时,它显示使用的服务器端技术。 在这种情况下,它显示以下信息: Node.js(编程语言) Express(Web框架) 连接(Web框架) 为了安全起见,我需要以某种方式隐藏浏览器/客户端的这些信息。 那么,有没有人可以说明我在node.js中如何做到这一点? 是否有任何configuration设置可以更改,以便它们不会向浏览器/客户端发送不必要的信息。 更新: 我使用下面的代码来防止Express框架发送'x-powered-by'标题: app.disable('x-powered-by'); 即使在更改之后,服务器端堆栈信息也正在显示。 谢谢。

如何获得响应状态404在casper.js然后打开,而不是未定义?

任何想法为什么下面的代码不会在response var或http.status.404事件中捕获404? 我用phantomjs 1.9,casperjs 1.0.2和Windows 7运行这个 var casper = require("casper").create(), utils = require('utils'); casper.start(); casper.thenOpen('http://www.google.com/sadfafsdgfsd', function(response) { casper.capture('test.png'); utils.dump(response); }); casper.on('http.status.404', function(resource) { this.echo('wait, this url is 404: ' + resource.url); }); casper.run(function() { console.log('End'); casper.exit(); }); 理想情况下,我喜欢在thenOpen()中捕获404。 怎么做? 更新1: 我试过这个 casper.thenOpen('http://www.google.com/sadfafsdgfsd', function(response) { casper.capture('test.png'); utils.dump(response); if(this.status(false)['currentHTTPStatus'] === 404) { console.log('Error 404'); } else { […]