Articles of http

在Node.JS中将参数添加到HTTP POST请求

我已经知道如何使用Node.js发送一个简单的HTTP请求,如下所示: var http = require('http'); var options = { host: 'example.com', port: 80, path: '/foo.html' }; http.get(options, function(resp){ resp.on('data', function(chunk){ //do something with chunk }); }).on("error", function(e){ console.log("Got error: " + e.message); }); 我想知道如何在POST请求的主体中embedded参数,以及如何从接收器模块中捕获它们。

node.js – 获取请求后,脚本不会返回到控制台

这是一个简单的脚本 var http = require("http"); http.get( WEBSITE, function(res) { console.log("Does not return"); return; }); 如果WEBSITEvariables是' http://google.com '或' http://facebook.com '脚本不会返回到控制台。 但如果WEBSITEvariables是“ http://yahoo.com ”或“ http://wikipedia.org ”,它将返回到控制台。 有什么不同?

nodejs http post请求抛出TypeError

我试图做一个简单的服务器,使用谷歌oauth(没有明确和passportjs,因为我想研究数据交换)。 当我的程序试图发送一个post请求到google时,nodejs抛出: http.js:593 throw new TypeError('first argument must be a string or Buffer'); 我已经检查并确保查询和选项中的所有参数都是string,但错误仍然存​​在。 我在这里错过了什么? 这是我的代码: // Load the http module to create an http server. var http = require('http'); var url = require('url'); var fs = require('fs'); var querystring = require('querystring'); var content; fs.readFile('./test.html',function(err,data){ content = data; }); // Configure our HTTP server to […]

如何cachingautosuggest组件的结果?

我有一个用户types执行AJAX请求的UI自动提示组件。 例如,如果用户键入mel ,则响应可能是: { suggestions: [{ id: 18, suggestion: 'Melbourne' }, { id: 7, suggestion: 'East Melbourne' }, { id: 123, suggestion: 'North Melbourne' }] } UI组件实现客户端caching。 因此,如果用户现在点击b (检索melb结果),然后Backspace ,浏览器已经在内存中获得了mel结果,所以它们立即可用。 换句话说,每个客户对每个给定的input最多只能做一次AJAX调用。 现在,我想在此之上添加服务器端caching。 因此,如果一个客户端为mel执行一个AJAX调用,并且假设有一些繁重的计算正在准备响应,其他客户端将会得到结果而不会再执行这个繁重的计算。 我可以简单地对查询和结果进行散列,但我不确定这是实现这一点的最佳方式(内存问题)。 数据集中有~20000条build议。 什么是实现服务器端caching的最佳方式?

validationnodejs + express中的URL以处理错误的请求错误

那么,在阅读了关于这个问题的一些事情后,我决定去询问一下。 这个想法在核心上很简单:检测传入的无效URL / URI,并向客户端返回一个响应,并提供相应的代码/数据。 通常,在处理节点中的错误时,我们使用如下语法: if (err) { return res.status(500).json(error: {msg: err.message, stack: err.stack}); } 好吧,这很简单,但最重要的是我们发现: “嘿,如果发生错误,把这个东西发给客户端” 。 但如果它不是一个500内部呢? 据我所知,错误的请求错误是发送像客户端错误,并有提示,rigth自己的堆栈,types和消息? 阅读这个 ,我find了URIError的构造函数,它指向一个实例,表示与ivalids URI发生的错误。 所以,可以这样做: if (err instanceof URIError) { /* send a handler for bad request */ }; 或者我需要从头开始validationURI并使自己的错误inheritance? 任何提示? 理念? … 提前致谢! <3

锚标签和$ http.get之间的根本区别是什么?

我正在制作一个使用angular度的networking应用程序,我想知道当我点击一个标签时,有什么不同? <a href="/auth/twitter" target="_self" class="btn btn-primary">Login with Twitter OAuth</a> 相比于点击一个button,激发我的服务function。 $http.get('/auth/twitter') 后者导致没有“访问控制允许来源”的错误,第一个没有。 所以他们之间有些不同,但我无法弄清楚或者search它是什么。

NodeJS http和非常大的响应主体

目前,我正在尝试从一个API(特别是这个 )请求一个非常大的JSON对象,这取决于各种因素,可以高达几MB。 但问题是,NodeJS需要永远做任何事情,然后只是内存不足:我的响应callback的第一行永远不会执行。 我可以单独要求每个项目,但这是一个巨大的要求。 引用新API背后的开发者: 到目前为止,如果你想获得宁静的所有市场订单,你必须要求每个地区的每个types。 这通常是50多个地区乘以13,000以上的types。 即使只有13000个types和50个地区,也就是650000个获取所有市场信息的请求。 如果您想在5分钟的caching窗口中获取所有数据,则每秒钟需要将近2200个请求。 显然,这不是一个好主意。 我正在尝试将数组items放入redis以供稍后使用,然后按照next url并重复,直到到达最后一页。 有没有办法做到这一点? 编辑:这是问题代码。 访问该url在浏览器中正常工作。 // … REGIONS.forEach((region) => { LOG.info(' * Grabbing data for `' + region.name + '#' + region.id + '`'); var href = url + region.id + '/orders/all/', next = href; var page = 1; while (!!next) { https.get(next, (res) => […]

在Node.js中使用Express.js获取POST参数

我想要使​​用Express请求后获取一些POST参数,但我无法获取数据。 这是我的app.configure : app.configure(function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(gzippo.staticGzip(__dirname + '/public')); app.use(gzippo.compress()); }); 在POST HTTP请求之后,我试图在控制台输出它: console.log(req.body); 对象总是空的。 任何想法,我忘了什么?

如何在Meteor中注销出站HTTP请求?

是否有一个meteor包,使我能做到这一点? 另外,有没有办法使用像global-request-logger这样的节点包来loggingMeteor应用的出站HTTPstream量?

用express来build立一个基本的服务器

我有一个node.js应用程序,当我尝试加载主页时,我遇到了错误消息。 我将尽我所能在下面布置我的架构。 它到index.js – > server.js – > router.js – > requestHandlers.js 我正在使用express(www.expressjs.com)和nodebeginner.org的组合。 对不起,很长的问题..只是想获得尽可能多的信息。 index.js(创build包含path名/请求处理程序信息的句柄对象,调用启动服务器的函数)我从router.route开始,并沿着每一步传递它 var server = require("./server"); var router = require('./router'); var requestHandlers = require('./requestHandlers'); // Routes var handle = {} handle['/'] = requestHandlers.home; server.start(router.route, handle) server.js(启动服务器,这是我要configuration服务器,从URL获取path名,并将其传递到路由模块) var http = require("http"); var url = require('url'); var express = require('express'); function start (route, handle) […]