Tag: 请求

请求遵循redirect,无需发布数据

我在Node.js中使用request.js来处理http请求。 request({ method: 'POST', uri: 'http://www.example.com/getData', followAllRedirects: true, followOriginalHttpMethod: true, json: true, form: { id: 1, msg: 'Test data', }, }, (err, res, body) => {}) 比如,当我将{ id: 1, msg: 'Test data' }到http://www.example.com/getData ,代理将redirect到http://us.example.com/getData 。 上面的代码redirect到http://us.example.com/getData ,但我怎样才能设置redirect与发布数据?

节点js头从请求stripepd

我们正在使用request模块,我们提出请求的url在主机文件中是别名,但是看起来好像接收方收到了带有空头的请求。 如果请求被发送到一个不需要别名的url,那么这个头文件就会像预期的那样到达。 任何想法为什么标题可以被剥离? const options = { url, headers, body, rejectUnauthorized: false }; request.post(options, function(err, res, body) { if (err) { console.log(err) return; } console.log(body) return; });

套接字挂起错误请求模块在nodejs尽pipeCURL正确

我使用了一个API来响应显着的超时,我总是面临Error: socket hang up在request模块在nodejs发生,虽然我可以CURL URL没有任何问题。 我试图增加请求选项中的timeout ,但没有什么好事发生。 还有别的东西,而不是超时? 我应该使用其他包而不是request ? nodejs代码: var request = require("request"); var options = { method: 'GET', url: 'https://someapiurl.com/api/search', qs: { q: 'Vanak sq' }, timeout: 12000, time: true }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); }); 错误: Error: Error: socket hang up at Request._callback […]

Nodejs PUT请求与参数

我正在试图使用请求到一个URL的PUT请求: request({ uri: 'http://apiurl.url/1.0/data?token=' + APItoken, method: 'PUT', data: [{ 'content-type': 'application/json', body: JSON.stringify(APIpostObj) }], json: true }, function(error, response, body) { if (error) { return console.error('upload failed:', error); } console.log('Server responded with:', body); }) 我得到的错误: 'Error number': 303, Error: 'Empty PUT on /data endpoint' 有两个参数需要:id(一个数字)和bdata(JSON)。 APIpostObj将包含它们作为{“id”:33,“bdata”:{…}}。 我错过了什么?

如何利用请求集成testingasynchronousKoa节点API

我正在使用Koa2和Request对第三方进行RESTful API调用来处理我的第一个真实世界的Node项目。 Koa服务本身是相对简单的,但我正在尝试使用Jest编写一个集成testing。 我已经find使用Supertest / Superagent的Jest的例子 ,但我无法find如何使用只有Jes​​t和Request作为http客户端编写等效testing。 下面是Jest / Supertest的例子 const request = require('supertest'); const app = require('../../src/app') describe('Test the root path', () => { test('It should response the GET method', async () => { const response = await request(app).get('/'); expect(response.statusCode).toBe(200); }); }) 似乎我应该可以使用请求做超supertest / superagent在这里做的相同的事情,但我找不到任何例子。 感谢您的build议!

在所有日志中打印bunyan中间件reqId

我正在开发一个RESTful服务,使用节点,快递和bunyan中间件。 Bunyan中间件正在生成一个UUID,在req.reqId中也是一样的。 所以,当日志logging通过req.log.info(“log message”)发生时,reqId将被打印在日志中。 但是我面临的问题是,有许多内部帮助者没有req的上下文。 一个解决scheme是将req对象传递给每个函数,但这看起来像是一个开销。 欣赏任何解决scheme。

用请求parsing查询数组并用express接收

我有一个问题发送和接收查询参数与快递和请求。 要求方: const request = require('request'); request({url: 'http://localhost', json: true, qs: {id: [1,2,3,4]}}) 请求将这样的请求发送到我的服务器: http://localhost/?id%5B0%5D=1&id%5B1%5D=2&id%5B2%5D=3&id%5B3%5D=4 然后当我用快递收到我的结果 app.get('/', (req, res, next) => { console.log(req.query); }) 我有 {id: {0: 1, 1: 2, 2: 3, 3: 4}} 我想拥有 {id: [1,2,3,4]} 如果我手动发送请求使用这个url它的作品 http://localhost/?id=1&id=2&id=3&id=4 所以我不明白,如果错误来自request女巫有parsing我的数组问题或express有问题parsing我的查询

node.js request.js并不是触发请求

(我也发布了这个问题的请求的github页面上的链接 ) 我有一个应用程序使用请求从内部API获取API数据。 我正在做一些testing,看起来我们的应用程序在负载较重的情况下性能不佳,而且API响应速度越来越慢。 我根据我们所使用的请求调用推导出这个结果,看起来好像请求可能是将这些请求放在一个队列中,而不是一次全部放入。 这是一个testing脚本,显示了这个行为: #!/usr/bin/env node var request = require("request"), logger = require("./logger.js"), argv = require("optimist").argv; var numRequests = argv.requests || argv.r, requestsMade = 0, wait = argv.wait || argv.w || 0, url = argv.url || argv.u || "http://www.google.com", requestApi = function(url,callback){ var requestTime = new Date().getTime(); request({ method: "GET", uri: url },function(err, […]

如何将本地ipv6地址绑定到我的node.js程序?

我刚刚在nodejs中创build了这个简单的程序,但是我不能将它绑定到我的NIC的ipv6地址。 我在API文档中读到以下内容 localAddress:绑定networking连接的本地接口。 var http = require('http'); var options = { hostname: 'www.whatismyipv6.com', localAddress: '2a01:xxxx:xxxx:xxxx::2' //a real ipv6 address here }; var req = http.request(options, function(res) { res.on('data', function (chunk) { console.log(chunk.toString()); }); }); req.on('error', function(e) { console.log('ERROR: ' + e.message); }); req.end(); 但是,当我执行程序,我得到这个。 请注意ipv4地址。 <head> <title>WhatIsMyIPv6? (IPv4: xx.xx.xxx.xxx)</title> <meta name="bitly-verification" content="984886d337a6"/> </head> 它看起来像nodejs忽略localAddress并直接绑定到ipv4地址。 # […]

在nodejs中通过oauth2.0使用gdata apis将新图像插入到google-picasa相册中

我尝试使用Gdata API通过oauth2.0从request.js node.js模块进行身份validation,从而将新图片插入到google-picasa相册中。 我的function: insertPhoto(options,callback){ fs.readFile('C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg',"base64",function(error,data){ var userId=options.userId || 'default'; var rootUrl='https://picasaweb.google.com/data/feed/api/user/'+userId+'/albumid/'+options.albumId+''; var body_data=gen_multipart('testing.jpg','sss',data,'image/jpeg'); request({ method:'POST', headers:{ 'GData-Version': '2','Authorization':'Bearer' + ' ' + 'my_access_token',"Content-Type":'multipart/related; boundary="END_OF_PART"','Content-Length':body_data.length,"MIME-version":"1.0"}, body:body_data, uri:rootUrl },callback); }); } 将选项和callback传递给我的函数 insertPhoto({albumId:'5917473565459053457'},function(error,success){ if(error){ console.log(error); }else{ console.log(success); } }); 以下是我的输出 { status: 400, message: 'Not an image.' } 不是一个图像。 这是什么错误,我的头和请求正文,我在谷歌文档相同。 请参阅: https : //developers.google.com/picasa-web/docs/2.0/developers_guide_protocol#Post照片 我做错了什么可以帮助我的任何人!