Tag: httprequest

我使用IP地址获得ENOTFOUND Node.JS

我试图从外部网站获取信息,但我得到这个错误: getaddrinfo ENOTFOUND 我的代码是: var options = { host: 'http://DOMAIN_OR_IP_ADRESS/', port: 8080, path: 'PARAMS_GET (I GUESS)', method: 'GET', agent: false }; http.get(options, function(resp){ resp.on('data', function(chunk){ console.log(chunk); }); }).on("error", function(e){ console.log("Error: http://IP_OR_DOMAIN" + "\n" + e.message); console.log( e.stack ); }); 当我使用这个选项: var options = { hostname: 'www.google.com', port: 80, path: '/index.html', method: 'GET', agent: false }; […]

如何在nodejs中使用https.request

我使用github在我的节点应用程序中进行身份validation。 我已经构build了以下代码: var req = request(postOptions, function (res) { res.on('data', function (d) { … var getOptions = parseUrl('https://api.github.com/user?access_token=' + accessToken); … var req = request(getOptions, function (resp) { … resp.on('data', function (d) { … }) .on('end', function () { … }) }); req.end(); }); }); req.write(postData); req.end(); 我删除了一些代码,因为这里的重点是我有一个请求中的请求。 现在,nodejs已经推迟了问题是,如果这可以用来简化上面的代码?

q-io:如何使用Promises读取response.body JSON对象?

我需要从一台服务器到另一台服务器发出一个http请求。 处理这个请求的服务器将返回一个JSON数组对象: app.get('/array', function (req, res) { console.log('GET request received!'); var response_array = [ { value: 1234 }, { value: 1234 }, { value: 55 } ]; res.send(response_array); }); 我正在使用q-io将http请求发送到GET方法/array并获取数组: var _getArray = function(externalUrl) { var request = { method: "GET", url: externalUrl }; return HTTP.request(request) .then(function(response) { // I need to return the Array […]

在Node中请求GET失败

我正在向我的node后端请求第三方api服务。 我得到了403 forbidden的回应: request("http://www.giantbomb.com/api/search/?api_key=my_api_key&field_list=name,image,id&format=json&limit=1&query=street%20fighter%203&resources=game",(err,res,body) => { console.log(body); }) 在浏览器中查询相同的请求会返回预期的结果。 任何想法为什么会发生? 编辑: logging响应正文,我收到下面的页面(没有JS): <h1>Wordpress RSS Reader, Anonymous Bot or Scraper Blocked</h1> <p> Sorry we do not allow WordPress plugins to scrape our site. They tend to be used maliciously to steal our content. We do not allow scraping of any kind. You can load our RSS […]

json的node.js http.request,未定义在json前面

我试图通过node.js从embed.ly获取数据。 一切看起来都不错,但是在数据前面放了一个“未定义的”: 也许这与setEncoding('utf8)有关? 结果如下所示: undefined[{ validjson }] function: function loadDataFromEmbedLy( params, queue ){ try { var body; var options = { host: 'api.embed.ly', port: 80, path: '/1/oembed?wmode=opaque&key=key&urls='+params, method: 'GET', headers: {'user-agent': ''} }; var req = http.request(options, function(res) { res.setEncoding('utf8'); res.on('end', function() { if( typeof body != 'undefined' ){ console.log( body ); } }); res.on('data', […]

node.js请求包含asynchronous脚本的网页

我正在使用非常简单的请求模块下载网页。 我的问题是,我试图下载的页面有一些asynchronous脚本(具有asynchronous属性),他们不下载与HTTP请求的HTML文档返回。 我的问题是如何使用/不带(最好带)请求模块发出http请求,并且由于某些边缘情况使得整个页面没有例外地下载,如上所述。

Node.js是否一个一个处理客户端请求?

Node.js是否一个一个处理客户端请求? 我有一个项目,它使用Node.js作为服务器端代理。 根据我的理解,如果你使用一个callback来响应,Node.js应该没有任何延迟地响应新的请求,但实际上Node.js将不会响应新的请求,直到它完成了最后一次callback。 这是正确的行为还是有一些不正确的代码使用? 请帮助我。 非常感谢你。 以下是重新向后端服务发送请求的代码。 var request = require('request'); var http = require('http'); function apiService(){} apiService.prototype.get = function (context, payload, callback, url){ return this.requestAPI(context, payload, callback, url, "GET"); } apiService.prototype.post = function(context, payload, callback, url){ return this.requestAPI(context, payload, callback, url, "POST"); } apiService.prototype.del = function(context, payload, callback, url){ return this.requestAPI(context, payload, callback, url, […]

使用node.js中的HTTP请求中的数据

我的任务是从http://services.swpc.noaa.gov/text/ace-swepam.txt获取数据,并将其分类/分类为有用的东西。 首先,我试图将数据分成不同的类别,以便我可以在chart.js或稍后使用,但是当我尝试打印一个字段时,它只是以[]的forms出现。 var options = { host: 'services.swpc.noaa.gov', path: '/text/ace-swepam.txt', port: 80, method: 'POST' }; var req = http.request(options, function (res) { res.on('data', function (chunk) { // console.log('BODY: ' + chunk); results += chunk.toString(); //split results into an array by each new line lines = results.split("\n"); //delete header lines lines.splice(0, 18); if (lines.length <= 20) […]

如何使用Node.JS请求HTTP摘要authentication?

我必须用Node.JS编写一些API文档的代码,但是最近几天我尝试了所有可以在networking上find的解决scheme(包括当然是Stack),而没有成功… 我的API使用HTTP摘要authentication,这就是问题,我能够连接,这是不是一个大问题,但每次我得到相同的回报: Got response : 401 HTTP Digest Authentication required for "api.example.com" 你可以在下面显示我的基本代码,而无需authentication! 因为我不知道我能做什么, var http = require('http') var options = { host: 'api.example.com', path: '/example/1.xml', }; var request = http.get(options, function(res){ var body = ""; res.on('data', function(data){ body += data; }) res.on('end', function(){ console.log('Got response : ' + res.statusCode); console.log(body); }) res.on('error', function(e){ console.log('Got […]

将每个模块组装成一个.js文件

我想尽量减less客户端在浏览器中加载脚本的HTTP请求数量。 这将是一个相当普遍的问题,但我仍然希望我能得到一些答案,因为JavaScript中的模块pipe理已经是一个痛苦。 现在的情况 现在,在开发中,每个模块都是从主html模板中单独请求的,如下所示: <script src="/libraries/jquery.js"></script> <script src="/controllers/controllername.js"></script> … 服务器在Node.js上运行,并根据请求发送脚本。 显然这是这样做的最不理想的方式,因为所有的模型,集合等也被分成它们自己的文件,这些文件翻译成许多不同的请求。 就研究而言 我遇到的库(使用AMD和CommonJS的RequireJS)可以向发送给客户端的主.js文件请求模块,但需要大量额外的工作才能使每个模块与每个库兼容: ;(function(factory){ if (typeof define === 'function' && define.amd) define([], factory); else factory(); }(function(){ // Module code exports = moduleName; })); 我的目标 我想在服务器上创build一个将所有模块连接在一起的文件。 如果我可以做到这一点,而不必添加更多的代码,已经存在的模块将是完美的。 然后,我可以简单地将这个单个文件提交给客户端。 这可能吗? 另外,如果我设法构build一个单独的文件,我应该在其中包含开源库(jQuery,Angular.js等)还是在客户端从外部cdn请求它们?