Tag: 请求

在节点JS请求中发送未parsing的数据

我想发送一个POST请求(例如,与'请求'模块),但我没有find一种方式发送未分析的数据* 。 * unparsed data =>直接从Chrome开发工具中复制。 例如: tipo_accion = 3&filtro = descarga&fecha = actual 它也会把这个string翻译成JSON。 我已经尝试过… var request = require('request'); request.post({ url: 'https://target.com/form/', form: 'tipo_accion=3&filtro=descarga&fecha=actual' }, function (error, response, body) { console.log(body) } ); …但它没有工作。

nodejspipe道https响应request.post和写入文件

我正在做HTTP代理程序,检查HTTP URL,如果它是下载链接(内容types:八位字节stream),我会得到响应,并通过使用request.post和其他计算机下载文件与其他计算机响应中继该响应由http代理给出。 假设networking代理计算机是A.并且它是A. 192.168.5.253的代码的一部分 if(contentType && (contentType== "application/octet-stream" || contentType == "application/gzip")){ console.log("remoteRes##app",remoteRes); let filepath = req.url.split('/'); let FileName = getFilename(remoteRes, filepath); let writeStream = fs.createWriteStream(FileName); /*remoteRes is octect-stream response. I can get file buffer If I use remoteRes.on(data, chunk => {…})*/ remoteRes.pipe(writeStream); //It works but I want to send file buffer to B without […]

处理来自node.js应用程序的多个https请求

我一直在寻找这样的帮助,而且我一直在圈子里走了一段时间,但我卡住了 我使用node.js https进行多个ReST POSTS,我需要能够跟踪每个请求的响应,然后汇总结果。 我每次执行的请求数量都不相同。 我创build了一个函数,为每个http请求返回一个Promise。 function httpRequest(params, postData) { return new Promise(function(resolve, reject) { var reqActivity = http.request(options, function(res) { if (res.statusCode < 200 || res.statusCode >= 300) { return reject(new Error('statusCode=' + res.statusCode + ' statusMessage=' + res.statusMessage)); } var chunks = []; res.on("data", function(chunk) { console.log("Blowing chunks…"); chunks.push(chunk); }); res.on("end", function() { […]

如何重复“请求”,直到成功? 的NodeJS

我在StackOverflow中检查了一些线程,但没有为我工作。 我有这个请求调用,我需要它尝试发送请求,直到它成功(但如果失败,它必须等待至less3秒): sortingKeywords.sortVerifiedPhrase = function(phrase) { var URL = "an API URL"+phrase; //<== Obviously that in my program it has an actual API URL request(URL, function(error, response, body) { if(!error && response.statusCode == 200) { var keyword = JSON.parse(body); if(sortingKeywords.isKeyMeetRequirements(keyword)){ //Check if the data is up to a certain criteria sortingKeywords.addKeyToKeywordsCollection(keyword); //Adding to the DB […]

我如何确保在响应传入的请求(Swagger / Express)之前已经返回一个承诺,

我正在尝试编写一个简单的Swagger API,可以让我根据需要同步一些系统。 同步是一种方式,所以基本上最终的目标是向两个系统发送一个请求,看看有什么新的/改变/删除的原点,然后更新目的地。 我一直在尝试使用node.js来代替Java,我习惯于这种学习方式,但是由于asynchronous性质,我真的很难找出一个关键问题。 作为一个testing,我在IntelliJ上构build了一个简单的Express node.js应用程序,在其中一条路线中,我调用了从另一个文件导出的函数,并尝试获取响应。 不幸的是,这不是很好。 我所做的是这样的: getit.js – (这是Ron Swanson生成器得到一个报价) const rp = require('request-promise'); async function dorequest() { const response = await rp(uri); return Promise.resolve(response); }; module.exports = {dorequest} 在我这样做的路线中: var getit = require ('./getit.js'); /* GET users listing. */ router.get('/', function(req, res, next) { var ret = getit.dorequest(); res.send(ret); console.log('res out' + […]

解码特殊的西里尔文字符

运行下面的小代码时,terminal上会出现奇怪的字符: const http = require("http") http.get("http://www.pravda.com.ua/news/2017/10/6/7157464/", res => { res.on("data", e => console.log(e.toString())) }) …如: 为什么会这样呢? 当curl http://www.pravda.com.ua/news/2017/10/6/7157464/ ,我们得到原始问号(如: <title>? ? | ?? </title> )。 但是,浏览器似乎得到了好的字符<title>У Кахов…</title> 。 是发送不同内容的服务器还是客户端的解释方式(Node.js vs curl vs browser)?

不在header,Node.js控制台应用程序中发送userAgent

我刚刚开始学习JavaScript和https请求。 我在Visual Studio 2017中工作,我从模板中创build了一个空白的JavaScript控制台应用程序,并添加了以下代码。 const https = require('https'); const options = { hostname: 'api.gdax.com', path: '/products/BTC-USD/stats', method: 'GET', agent: false }; const req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); }); req.on('error', (e) => { console.error(e); }); req.end(); 我从服务器得到的回应是 {"message":"User-Agent header is required."} 当我在浏览器中导航到https://api.gdax.com/products/BTC-USD/stats时 ,我得到了正确的回复。 我怎么能不能在一个JavaScript控制台中做同样的事情?

如何在build立在net模块上的node.js服务器中parsing请求

我们正在用net模块构build一个服务器,并且很难从请求中提取URL(和资源path)。 下面的代码崩溃,说: Parameter 'url' must be a string not undefined. 文件netServer.js : var net = require('net'); var url = require('url'); var server = net.createServer(function(socket) { //'connection' listener socket.on('connect', function(request) { }); socket.on('data', function(request) { var pathname = url.parse(request.url).pathname; console.log("Request for " + pathname + " received."); }); socket.on('end', function() { }); }); server.listen(8080, function() { […]

我怎么不能在Node.js中加载这个http模块?

var http = require('http').globalAgent.maxSockets = 99; TypeError: Cannot set property 'maxSockets' of undefined 无论如何,我想将maxSockets的数量设置为99。 但是当我加载该行时,它说globalAgent是未定义的? 另外 – 如果我把这行代码放在我的app.js中,它会在整个项目中保留吗? 例如,如果我需要另一个模块,哪个模块需要“请求”模块…并且该请求模块需要http …它会保持maxSockets为99,因为我的代码早在我的app.js之前其他? 基本上,我想在我的app.js和所有的子模块和所有这些子模块的所有东西99个maxSockets。

如何处理NodeJS中的file upload?

我有这个代码: http.createServer(function (req, res) { if (req.method.toLowerCase() === "post") { res.writeHead(200); req.on('data', function (data) { console.log(data.toString()); }); res.end(); } }).listen(8006); 如果我尝试使用curl命令(如curl http://localhost:8006/upload -X POST -F file=@filetoupload.txt ,我将获取文件的名称和文件的内容打印出来,在这种情况下是这样的: ——————————5d02ba973600 Content-Disposition: form-data; name="file"; filename="filetoupload.txt" Content-Type: text/plain <!– start slipsum code –> Do you see any Teletubbies in here? Do you see a slender plastic tag clipped to […]