Tag: 请求

没有方法“setMaxListeners”错误

根据这个问题,我需要调用request.setMaxListeners(0)来解决所描述的问题。 当我尝试做: var request = require('request'); request.setMaxListeners(0); 我收到以下错误信息: request.setMaxListeners(0); ^ TypeError: Object function request(uri, options, callback) { if (typeof uri === 'undefined') throw new Error('undefined is not a valid uri or options object.') if ((typeof options === 'function') && !callback) callback = options if (options && typeof options === 'object') { options.uri = uri } […]

Node.js请求下载文件有时为空或不存在

我正在用node.js和请求模块写一个下载器。 使用我正在做的stream语法 var r = request(url).pipe(fs.createWriteStream(targetPath)); r.on('error', function(err) { console.log(err); }); r.on('finish', cb); 下载文件,保存并调用callback。 但是,在接近50%的情况下,文件是空的或者根本不创build。 没有error事件。 即使文件还没有(完全)写入,看起来finish事件也会被触发。 上下文:整个事情被包装成async.each调用。 任何线索? 谢谢!

如何使用请求库和Bluebird发送发布请求?

所以inheritance人我的设置: var Promise = require("bluebird"); var request = Promise.promisify(require('request')); 这工作: request('url') 它返回一个承诺 这不: request.post('url', {form: {type: 'artist'}}) 给我这个错误: TypeError: Object function promisified(_arg0,_arg1) { … }has no method 'post' at /Users/beamer30/projects/wevo/controllers/music.js:85:30 at Array.map (native) at MusicSearch.spotifyRelated (/Users/beamer30/projects/wevo/controllers/music.js:84:22) at MusicSearch.findRelatedArtists (/Users/beamer30/projects/wevo/controllers/music.js:48:7) at musicController.search (/Users/beamer30/projects/wevo/controllers/music.js:100:17) at Layer.handle [as handle_request] (/Users/beamer30/projects/wevo/node_modules/express/lib/router/layer.js:76:5) at next (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:100:13) at Route.dispatch (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:81:3) at Layer.handle […]

在nodejs中,如何将请求npm的原始put数据发送出去?

我需要在节点中使用“require”npm来打api。 api需要原始数据(不能放入字段)。 如何使用请求npm执行此操作? 我需要发送的示例原始数据: var body = { "id": 123, "squares": [ { square_id: 345, color: "#ccc" }, { square_id: 777, color: "#fff" } ] } 我正在尝试,但它不工作: request({ method: "PUT", uri: UPDATE_GAME, multipart: [{ 'content-type': 'application/json', body: JSON.stringify(body) }] }

如何使用cookie(request,tough-cookie,node.js)

我想知道如何使用cookie与请求 ( https://github.com/mikeal/request ) 我需要设置一个可以从请求中获取每个子域的cookie, 就像是 * .examples.com path是每个页面,就像 / 那么服务器端就可以正确地从cookie中获取数据,就像 testing= 1234 我发现从响应安装的cookie工作正常, 我添加了一个自定义的jar来保存cookie,就像 var theJar = request.jar(); var theRequest = request.defaults({ headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' } , jar: theJar }); 但我从请求设置的cookie,只能在同一个域中获取, 我无法find一个方法来设置cookie更多的选项 现在,如果我想要一个能够在三个子域中获取的cookie, 我必须这样设置: theJar.setCookie('test=1234', 'http://www.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', 'http://member.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', […]

SyntaxError:Object.parse(native)npm请求的input意外结束

你好,我不明白为什么我有这个错误,我认为callback一旦收到数据执行,任何想法,这是从哪里来的? 非常感谢! 节点错误: SyntaxError: Unexpected end of input at Object.parse (native) 我parsing身体的答案发送到一个计算function,然后发送到页面= / var options = { method: 'POST', url: self.rippledataapiProxyHost.account_offers_exercised, headers: { "Content-Type": "application/json", "Accept": "application/json" }, body:parameters }; var callback = function(error, response, body) { if (error) { console.log('error', error); res.send(500, 'something went wrong'); } console.dir("bodyyyyyyyy====>",body); var rippleoffersexercised = new self.datacalcul.rippleoffersexercised; var data […]

遵循与node.js请求redirect

我试图学习node.js,我正在开发一个工具来login一个网站,然后提取一些信息。 我已经读过redirect应该在文档中“自动工作”,但是我不能使它工作。 request({ url: start_url, method: 'POST', jar: true, form: { action: 'login', usertype: '2', ssusername: '****', sspassword: '****', button: 'Logga in' } }, function(error, response, body) { if (error) { console.log(error); } else { console.log(body, response.statusCode); request(response.headers['location'], function(error, response, html) { console.log(html); }); } }); 首先,我做了一个POST,它给出了一个respone.statusCode == 302.正文是空的。 我期望身体包含redirect页面。 然后,我在response.headers ['location']中find了“新”url。 当使用它时,主体只包含一个“未login”页面,而不是我期望的页面。 任何人都知道如何去做这个?

Nodejs网页抓取与authenticationcookie

最近我试图从网站( kicktipp )使用Nodejs, 请求模块和cheerio刮取信息。 由于本网站需要身份validation才能查看其大部分网站,我尝试通过发布请求login,并检查用户是否使用以下代码login(我用虚拟数据replace了凭据,但在实际脚本中使用了真实数据): var request = require('request'); var jar = request.jar(); var request = request.defaults({ jar: jar, followAllRedirects: true }); var jar = request.jar(); var cheerio = require('cheerio'); request.post({ url: 'http://www.kicktipp.de/info/profil/loginaction', headers: { 'content-type': 'application/x-www-form-urlencoded' }, method: 'post', jar: jar, body: 'kennung=test@example.com&passwort=1234567890&_charset_=UTF-8&submitbutton=Anmelden' }, function(err, res, body){ if(err) { return console.error(err); }; request.get({ url: […]

NodeJS – 如何通过请求下载文件?

我有一个ExternalServe(在本地运行)当我使用浏览器来请求: 本地主机:2013 / ExternalServer / getfilebyname文件名= getStatus.json 然后浏览器下载getStatus.json到下载文件夹。 在我的NodeJS项目中,我想下载getStatus.json文件,我做了: download.js var http = require('http'); var fs = require('fs'); function getFile (){ var file = fs.createWriteStream("./../lib/user.json"); var req = http.get("http://localhost:2013/ExternalServer/getfilebyname?filename=getStatus.json", function(res) { res.pipe(file); }); } getFile(); 但是当我运行:节点download.js系统返回 <html><head><title>Apache Tomcat/8.0.0-RC1 – Error report</title><style><!–H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name […]

如何返回对象而不是string与诺克反应?

当我使用nock存根请求时,即使使用'Content-Type': 'application/json'也会返回String结果而不是Object 'Content-Type': 'application/json' : var response = { success: true, statusCode: 200, body: { "status": "OK", "id": "05056b27b82", } }; Test.BuildRequest(); Test.SendRequest(done); nock('https://someapi.com') // also tried // .defaultReplyHeaders({ // 'Content-Type': 'application/json', // 'Accept': 'application/json' // }) .post('/order') .reply(200, response.body, 'Content-Type': 'application/json', 'Accept': 'application/json'); 检查: console.log(put.response.body); console.log(put.response.body.id); 输出: {"status":"OK","id":"05056b27b82"} undefined 在代码中,我使用request模块返回Object与相同的数据。 我也试过sinon (不适用于我)和fakeweb但得到了同样的问题。 我的代码 ,我试图testing: […]