Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   https запрос через прокси (https://javascript.ru/forum/node-js-io-js/55097-https-zapros-cherez-proksi.html)

newx 13.04.2015 20:39

https запрос через прокси
 
Собственно сабж в заголовке.
Как можно в nodejs послать https-запрос, используя прокси-сервер?
Если можно - с примерами.
В гугле ни чего связного не нашел на эту тему, да и сильно слаб я в английском, так что буду очень благодарен вам за любую информацию на этот счет.
Заранее огромное спасибо.

theKingOfJava 13.04.2015 21:49

Даю пример с http, с https должно быть аналогично, но не проверял, у меня сертификаты не настроены
http.createServer( function( request, response )
{
        var url_parts = url.parse( request.url );
 
        var options = {
                hostname        : request.headers.host,
                port            : 80,
                path            : url_parts.path,
                method          : request.method,
                headers         : request.headers
        };
 
        var request_data;
 
        var proxy_client = http.request( options, function( res )
        {
               
                res.on( 'data', function ( chunk )
                {
                        response.write( chunk, 'binary' );
                } );
 
                res.on( 'end', function()
                {
                        response.end();
                } );
 
                res.on( 'error', function ( e )
                {
                        console.log( 'Error with client ', e );
                } );
 
                response.writeHead( res.statusCode, res.headers );
        } );
 
        request.on( 'data', function ( chunk )
        {
                request_data = request_data + chunk;
                proxy_client.write( chunk, 'binary' );
        } );
 
        request.on( 'end', function()
        {
                proxy_client.end();
        } );
 
        request.on( 'error', function ( e )
        {
                console.log( 'Problem with request ', e );
        } );
 
} ).listen(yourport);

newx 13.04.2015 22:10

В том то и дело, что для http проблем нет совершенно. Меня интересует именно https - там не все так прозрачно, поскольку через прокси требуется передавать защищенные(ssl-протокол) данные.

newx 13.04.2015 22:13

Кажется я нашел ответ на свой вопрос.
Всем огромное спасибо.
Кому интересно - вот замечательная статья, в которой все по полочкам:
http://blog.vanamco.com/proxy-requests-in-node-js/

agsh 14.04.2015 11:57

https://github.com/request/request#proxies


Часовой пояс GMT +3, время: 02:20.