Tag: 节点请求

node-request中的curl –upload-file相当于什么

我正在使用节点请求,并尝试将文件发送到IBM的HDFS,根据本文档 。 传递这个JSON对象来请求成功上传: var options = { method: 'put', body: 'foo', headers: { 'Content-Type': 'application/octet-stream', 'Transfer-Encoding': 'chunked' } }; 运行这个CURL命令也成功的上传了一个文件: curl -v -X PUT -L -b cookie.jar "https://host:port/webhdfs/v1/tmp/myLargeFile.zip?op=CREATE&data=true" –header "Content-Type:application/octet-stream" –header "Transfer-Encoding:chunked" -T "file.txt" 但是,试图指定一个文件stream如下所示: var options = { method: 'put', headers: { 'Content-Type': 'application/octet-stream', 'Transfer-Encoding': 'chunked' }, multipart : [ { body: fs.createReadStream(localFile) } […]

使用节点请求下载图像,并使用fs Promisified,在Node.js中没有pipe道

我一直在努力成功地下载一个图像,而不用pipe道到fs。 这是我所完成的: var Promise = require('bluebird'), fs = Promise.promisifyAll(require('fs')), requestAsync = Promise.promisify(require('request')); function downloadImage(uri, filename){ return requestAsync(uri) .spread(function (response, body) { if (response.statusCode != 200) return Promise.resolve(); return fs.writeFileAsync(filename, body); }) .then(function () { … }) // … } 有效的input可能是: downloadImage('http://goo.gl/5FiLfb', 'c:\\thanks.jpg'); 我相信问题在于body的处理。 我曾尝试将其转换为Buffer ( new Buffer(body, 'binary')等),但都失败了。 感谢前方的任何帮助!

Node.js GET请求ETIMEDOUT&ESOCKETTIMEDOUT

我正在使用Node.js – asynchronous和请求模块来抓取100多万个网站,并在几分钟后不断碰到错误ESOCKETTIMEDOUT & ETIMEDOUT 。 我重新启动脚本后,它再次工作。 这似乎不是连接限制的问题,因为我仍然可以解决,resolveNs,resolveMx,也毫不拖延地curl 。 你看到代码的任何问题? 或任何build议? 我想推高async.queue()并发到至less1000.谢谢。 var request = require('request'), async = require('async'), mysql = require('mysql'), dns = require('dns'), url = require('url'), cheerio = require('cheerio'), iconv = require('iconv-lite'), charset = require('charset'), config = require('./spy.config'), pool = mysql.createPool(config.db); iconv.skipDecodeWarning = true; var queue = async.queue(function (task, cb) { dns.resolve4('www.' + […]

无法调用reddit的/ api /提交

我无法得到reddit / r / redditdev的任何帮助,所以我希望你很好的人在stackoverflow可以帮助 我试图调用/ API /提交 。 我可以成功login用户并检索承载/访问令牌。 (我使用passport-reddit节点模块) 我可以成功地调用/ api / needs_captcha 当/ needs_captcha返回true时,我可以成功调用/ api / new_captcha 我可以向用户显示validation码图像 现在我尝试使用nodejs的请求模块像这样调用提交 var options = { url: 'https://oauth.reddit.com/api/submit', method: 'POST', headers: { 'Authorization': 'bearer '+usertoken , 'user-agent': 'node.js' }, json: data } request(options, function(error, response, body) … 我的“数据”variables的示例如下所示: { api_type: 'json', kind: 'self', sr: 'test', […]