LINUX.ORG.RU

Держи пример «прокси»:

'use strict';

var express = require('express');
var http = require('http');

var app = express();

app.use(function(req, res) {
  http.get('http://' + app.get('proxyTo') + req.url, function(proxy) {
    var chunks = [];
    proxy
      .on('data', function(chunk) {
        chunks.push(chunk);
      })
      .on('end', function() {
        var body = Buffer.concat(chunks).toString();
        res.send(body.replace(/udp:\/\/@/g, 'http://' + app.get('udpxy') + '/udp/'));
      });
  });
});

module.exports = app;

Нужный тебе код начинается со строки http.get.

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 1)
Ответ на: комментарий от Black_Roland

Я ещё тупой относительно js, можешь обернуть в функцию? И вот ещё можно без express на голой ноде это сделать?

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron
var http = require('http');

http.get('http://linux.org.ru/', function(buf) {
  var chunks = [];
  buf
    .on('data', function(chunk) {
      chunks.push(chunk);
    })
    .on('end', function() {
      var body = Buffer.concat(chunks).toString();
      console.log(body);
    });
});

Скачивание тут как раз на голой ноде, на express только отдача контента. Помни, что для http и https разные модули.

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 1)
Ответ на: комментарий от Black_Roland

Я ещё тупой относительно js, можешь обернуть в функцию

Ассинхронность. Твоя функция может вернуть разве что promise. В общем если не шаришь, то пиши так, без оборачиваний.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Может я чего не понимаю, но

dron@gnu:~$ cat getsite.js 
var http = require('http');

http.get('http://linux.org.ru/', function(buf) {
  var chunks = [];
  buf
    .on('data', function(chunk) {
      chunks.push(chunk);
    })
    .on('end', function() {
      var body = Buffer.concat(chunks).toString();
      console.log(body);
    });
});


dron@gnu:~$ node
node      node-gyp  nodejs    
dron@gnu:~$ nodejs getsite.js 

dron@gnu:~$ 

Dron ★★★★★
() автор топика
Ответ на: комментарий от Black_Roland

Спасибо тебе большое и пушистое ::)

Dron ★★★★★
() автор топика
Ответ на: комментарий от Vit

Спасибо, request годная интуитивно понятная штука. Хотя надо тормозить себя от «кнопок» «сделать звездато» (типа request), так как пока толком понимания языка нет.

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

Для хорошо написания на ноде хорошо разберись в JS - лишним не будет, можешь качественно перечитать доки по ноде чтобы знать какие модули есть и что и как работает, а еще советую прочитать книгу Manning NodeJS in Action - неплохая книга, раскрывает основы работы с многими штуками.

Berdin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.