Tag: 请求

Node.js Scraping:没有收到302redirect位置的查询string

我已经尝试了Node.js的HTTPS类和Mikeal的“请求”库 。 无论哪种方式,当抓取返回302响应的某个网站时,我无法检索查询string参数。 详情见下文: curl的location属性返回如下所示: https://www.anotsoawesomeurl.com?FOO=&BAR=LOGIN-0004&ETC=60013E52F8A437 但同样的事情在NodeJs的HTTPS类返回: https://www.anotsoawesomeurl.com 任何想法可能是这个问题的解决办法?

在node.js中相当于urllib2.Request的post

我正在尝试使用coin-e API和node.js应用程序,但是我遇到了已validation的POST请求。 我在这里有一个用python写的请求: post_args['method'] = method post_args['nonce'] = nonce post_data = urllib.urlencode(post_args) required_sign = hmac.new(PRIVATE_KEY, post_data, hashlib.sha512).hexdigest() headers = {} headers['key'] = PUBLIC_KEY headers['sign'] = required_sign url_request_object = urllib2.Request("%s/%s" % (BASE_API_URL,url_suffix), post_data, headers) response = urllib2.urlopen(url_request_object) try: response_content = response.read() response_json = json.loads(response_content) print response_json finally: response.close() 这是我写的node.js代码试图做同样的事情: var request = require('request'); var querystring = […]

请求URL模式,用户信息和path名丢失在heroku上的node.js应用程序

我有一个节点的应用程序,并试图使用url用户信息来授权请求​​。 当我在heroku上运行我的应用程序时,我注意到request.url只包含url的path组件。 有谁知道为什么发生这种情况? 如果有方法可以访问url模式,用户信息和主机名? 这是一个简单的例子: httpServer = http.createServer(function(request, response){ console.log("RECEIVED HTTP REQUEST – " + request.url); }); 当我在本地运行,并发布到http://username:password@localhost:5000/path ,完整的URL被logging: 10:42:03 web.1 | RECIEVED HTTP REQUEST – http://username:password@localhost:5000/path 当我在heroku上运行它,并发布http://username:password@appname.herokuapp.com/path ,它只loggingpath组件: 2014-03-25T15:40:49.965899+00:00 app[web.1]: RECEIVED HTTP REQUEST – /path

当请求被中止时,如何取消Node.JS请求处理?

什么是正确的方法来停止一个节点服务器上的事件链,它在收到请求后被设置为运动,当该请求被取消时? 例如 当浏览器完成请求时按[escape]时,请求被中止。 当您在jQuery $.ajax()上调用.abort()时。 等等 只是提供一些HTML,这不会是一个大问题。 节点服务器渲染一些文本,没有人听输出。 没什么大不了的。 但是,当Node服务器实际上为响应做了大量的处理时,能够停止并使用其他的资源是很好的。 理想情况下,这是一种自我req的伎俩,所以我不必更改整批代码来单独取消每个约定。

Nodejs从一个nodejs服务器发送文件到另一个

如何模拟从一个nodejs服务器向另一个nodejs服务器发送多部分表单数据,第一台服务器上的自定义文件是从提交到第一台服务器的表单parsing的。

Node.js,socket.io:接收来自每个socket.io调用的重复请求

第一次尝试使用node.js,像其他人一样创build一个简单的实时聊天应用程序。 一直有问题,最后〜2小时找不到解决scheme/原因。 我最初在我的聊天应用程序中遇到了这个问题,对服务器的每一个请求都会被复制,所以消息会出现两次,在控制台中,连接的服务器会logging两次。 我已经实施了一些解决scheme,因为在这里有几个类似的问题,但没有解决问题。 我试图在一个新的testing应用程序重新创build问题,看看我能不能find我做错了什么。 服务器代码 var express = require('express'); var routes = require('./routes'); var path = require('path'); var http = require('http'); var app = module.exports = express(); var server = require('http').createServer(app); var io = require('socket.io').listen(server); app.set('port', 1620); app.use(express.logger('dev')); app.use(express.methodOverride()); app.use(express.static(path.join(__dirname, 'public'))); app.use(app.router); app.set('views', __dirname + '/views'); app.engine('html', require('ejs').renderFile); if ('development' == app.get('env')) { app.use(express.errorHandler()); […]

多个asynchronous请求

那么,这里im triyng在对象列表中进行一些validation,但函数validation调用三个asynchronous方法(它向数据库发出请求)。但是当我以平行方式调用时,应用程序会给出错误500。 _.each(titlesToSave, function(title, index) { titleValidator.validateAsync(title, function (err) { if (err) { invalidTitles.push({index: index, error: err}); } joinArray[index](); }); }); var validateAsync = function (title, next) { async.parallel([ function(callback){ checkCity(title.carrier.address, callback)}, function(callback){ checkCity(title.beneficiary.address, callback)}, function(callback){ checkCity(title.seller.address, callback)} ], function (err,results) { if(err){ console.log('ERROR: ' +err); next(err); }else{ console.log('Result: '+results); next(); } }); }; var […]

Node-JS同时处理多个请求

我创build了一个监听端口8888的服务器: http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); console.log('start server'); req.on('data', function (data) { var json = null, url_parts = {}; url_parts = url.parse(req.url); json = JSON.parse(data); if (Router.route(url_parts, json, res) === false) { console.log('error with routing'); res.end('error with routing'); return; } console.log('end of request'); res.end('success'); }); }).listen(8888); 在Router.route ,有一个沉重的代码执行。 问题是,当有人访问url http://localhost:8888/SOME_URL另一个调用这个端口,如: http://localhost:8888/SOME_OTHER_URL他必须等待很多时间.. 我怎样才能同时处理两个电话? Tnx为您的帮助!

使用`request`和formData包含一个文件(客户端)

我试图从包含一个文件对象的客户端表单上传表单数据,但有问题使用request – https://github.com/request/request#forms 这会引发exception(由于文件对象): var request = require('request'); var myData = { a_key: 'a value!', a_file: fileInputElement.files[0] } request.post({url: 'http://foo.com/upload', formData: myData}); 这提交了一个空的请求: var formData = new FormData(); formData.append('a_key', 'a value!'); formData.append('a_file', fileInputElement.files[0]); request.post({url: 'http://foo.com/upload', formData: formData}); 当我不使用request时,我能够得到它的工作,而不是: var formData = new FormData(); formData.append('a_key', 'a value!'); formData.append('a_file', fileInputElement.files[0]); var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://foo.com/upload'); […]

节点不能刮取某些页面

我不知道这是否与ColdFusion页面有关,但我不能刮这些.cfm页面 在具有request运行的目录中的命令行中: node> var request = require('request'); node> var url = 'http://linguistlist.org/callconf/browse-conf-action.cfm?confid=173395'; node> request(url, function (err, res, body) { if (err) { console.log(err) } else { console.log('body:', body) }; }); 我已经尝试了一些其他的.cfm网站,但他们的工作,只是得到空白的结果,所以我不知道它可能是什么 注意:我也试过这样做的准系统require('http').get(url,…)路线,但我得到了同样的空白结果