Tag: 请求

把我的Curl变成NodeJS

我试图在NodeJS中模仿下面的curl命令的效果,但似乎无法让它工作。 任何帮助,将不胜感激。 curlhttps://url.com/rest/scripts -H“授权:持票人$ TOKEN” 假设我已经在var auth中存储了$ TOKEN的内容,那么为了模拟上面的curl命令,请求的正确格式(同步或其他)是什么? 我目前的尝试看起来像这样,但似乎并没有工作: var resData = request('GET',reqURL,auth); 编辑:解决了,但我觉得我应该指出上述使用'sync-request',因此如何将结果作为variables存储。

节点覆盖请求IPparsing

我正在努力find正确的术语来准确地说出这个问题,但我会把它放在最好的位置: 在node.js中,有没有办法在发出HTTP请求时手动覆盖IP地址(例如请求some-domain.com/whatever ,而不是通过DNSparsingIP地址,手动提供一些IP地址1.2.3.4 )? 这实际上相当于在/etc/hosts中设置1.2.3.4 some-domain.com

Typescript:属性“已解码”在types请求中不存在

我在JavaScript中有这样的代码: if (token) { // verifies secret and checks exp jwt.verify(token, Config.Secret, function(err, decoded) { if (err) { return res.json({ success: false, message: 'Failed to authenticate token.' }); } else { // if everything is good, save to request for use in other routes req.decoded = decoded; next(); } }); } else { // if […]

NodeJs将文件从请求发送到文件系统而不是内存

我有一个奇怪的问题。 我正在使用NodeJ中的文件下载请求,每次下载较大的文件(> 250MB)时,都会将其下载到内存中,而不是直接传输到文件系统。 也许我做错了什么,但我做了一个testing用例,文件仍然没有stream。 var request = require('request'); var fs = require('fs'); var writable = fs.createWriteStream("1GB.zip"); var stream = request.get({ uri: "http://ipv4.download.thinkbroadband.com/1GB.zip", encoding: null }, function(error, response, body) { console.log("code:", response.statusCode); if (response.statusCode >= 500) { log.err(response.statusCode, " Servererror", file.url); } }).pipe(writable); 在这个testing用例中,我正在下载一个1GB的样本文件,如果你用taskmanager观察节点的进程,它会在下载文件时增长到> 1GB。 我希望我的Node应用程序使用不超过200MB的RAM

使用节点请求模块获取响应头

我试图从服务器检索服务器响应头的请求。 import 'request' from 'request' var url = "SOME_URL" var options = { url: url }; var callback = function(error, response, body) { if(!error){ console.log(response); // <== } } request(options, callback) 通过“响应”对象,它看起来不像它包含服务器响应头 http://www.tutorialspoint.com/http/http_header_fields.htm 这样做之后唯一的头部被返回 console.log(response.headers) 来自客户端请求头。 任何人都可以指向正确的方向来访问这个对象。

节点js请求 – 空的身体作出回应

我正在使用节点js请求从下面的URL检索HTML,但正文返回空。 var request = require("request"); var url = 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20'; request({ uri: url }, function (error, response, body) { console.log(body); if (response.statusCode != '200') { console.log('fail'); console.log(response.statusCode + ' # ' + error); } else { console.log(response.statusCode); console.log('############'); console.log(response); } }); 仔细观察,我可以看到这个回应: _header: 'GET /webapp/wcs/stores/servlet/CatalogNavigationSearchResultCmd?langId=-1&storeId=12556&catalogId=33057&beginIndex=1&viewAllFlag=false&pageSize=20&searchTermScope=3&searchTermOperator=LIKE&searchType=ALL&sort_field=Relevance&searchTerm=TS19M11KRED&x=25&y=11&geoip=search HTTP/1.1\r\nreferer: http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod\r\nhost: www.topshop.com\r\nConnection: close\r\n\r\n', _headers: { referer: 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod', host: 'www.topshop.com' }, […]

刮Node Nodejs

我想用Nodejs来刮页面“ https://www.ukr.net/ua/news/sport.html ”。 我正尝试使用'request'npm模块进行基本的获取请求,例如: const inspect = require('eyespect').inspector(); const request = require('request'); const url = 'https://www.ukr.net/news/dat/sport/2/'; const options = { method: 'get', json: true, url: url }; request(options, (err, res, body) => { if (err) { inspect(err, 'error posting json'); return } const headers = res.headers; const statusCode = res.statusCode; inspect(headers, 'headers'); inspect(statusCode, 'statusCode'); inspect(body, […]

request-promise未处理的拒绝RequestError:错误:ETIMEDOUT

嗨,我尝试编写一些下载function的承诺要求,但如果我有一个超时,我不能处理这个错误,我尝试一些例子,但仍然有这个错误 Unhandled rejection RequestError: Error: ETIMEDOUT at new RequestError (/home/parse/node_modules/request-promise-core/lib/errors.js:14:15) at Request.plumbing.callback (/home/parse/node_modules/request-promise-core/lib/plumbing.js:87:29) at Request.RP$callback [as _callback] (/home/parse/node_modules/request-promise-core/lib/plumbing.js:46:31) at self.callback (/home/parse/node_modules/request/request.js:186:22) at emitOne (events.js:101:20) at Request.emit (events.js:191:7) at Timeout._onTimeout (/home/parse/node_modules/request/request.js:816:16) at ontimeout (timers.js:380:14) at tryOnTimeout (timers.js:244:5) at Timer.listOnTimeout (timers.js:214:5) 我的代码 function下载: function downloadPhoto(url,uploadUrl,name){ return new Promise(function(resolve, reject){ rp(url,{timeout:15000},function(e){if(e) reject(e);}).on('error', function(e){return reject(e);}).pipe(fs.createWriteStream(name+'.jpg')).on('finish', () => { //console.log('done […]

节点JS浏览器模拟(cookies,会话,标题)

我需要像一个普通的浏览器从节点js请求。 我是什么意思? 我可以设置任何HTTP信息,如Cookie,标题,正文。 所以要build立HTTP请求,我想要的。 请求发出后,所有的响应数据应该是可读的,比如Set Cookie …. 如果可以在会话期间自动保存cookie,那将会很棒。 所以我不需要在每次进一步提出请求时都包含它们。 所以只需模拟一个真实的浏览器来保持会话 有没有任何框架的库可以提供这样的function?

如何获取callback函数的返回值

我想要做一个API请求,并在我的网站上的表格中显示正文。 我正在使用Node.JS,React和Request。 这是我的代码: var requestResult = Request.get('https://test.ipdb.io/api/v1/assets/?search=asdf', (err, res, body) => { return body; }); 这显然不起作用。 我可以console.log(正文),但我希望API回应在callback函数外可用。 那可能吗?