{"id":1660,"date":"2016-08-24T11:24:28","date_gmt":"2016-08-24T11:24:28","guid":{"rendered":"http:\/\/breves.lavigilanta.info\/?p=1660"},"modified":"2016-08-24T12:17:05","modified_gmt":"2016-08-24T12:17:05","slug":"pegandome-con-node-js-y-los-proxies-el","status":"publish","type":"post","link":"https:\/\/breves.lavigilanta.info\/?p=1660","title":{"rendered":"Peg\u00e1ndome con node js y los proxies El&#8230;"},"content":{"rendered":"<p>Peg\u00e1ndome con node.js y los proxies. El gestor de paquetes npm s\u00ed dispone de una variable global que la configuras con la informaci\u00f3n de tu proxy y ya est\u00e1. Pero node, no. Es proyecto a proyecto.<\/p>\n<p>En la comunidad hay un peque\u00f1o riachuelo de tinta al respecto: https:\/\/github.com\/nodejs\/node\/issues\/1490<\/p>\n<p>Yo no tengo tiempo de esperar a que se decidan, as\u00ed que he encontrado una buena soluci\u00f3n por mi cuenta. Gracias a TooTallNate tenemos el m\u00f3dulo proxy-agent https:\/\/github.com\/TooTallNate\/node-proxy-agent que funciona perfectamente.<\/p>\n<p>Este es mi peque\u00f1o how-to:<\/p>\n<p>En tu proyecto instalas el m\u00f3dulo con el comando npm &#8211;save install proxy-agent<\/p>\n<p>En tu c\u00f3digo donde uses http, request, o request-promise, tienes que a\u00f1adir lo siguiente:<\/p>\n<p><code>var ProxyAgent = require('proxy-agent');<br \/>\nvar proxyUri = process.env.http_proxy || 'http:\/\/proxy:port' ; \/\/sustituye proxy:port por los tuyos<\/code><\/p>\n<p>Luego cuando vas a hacer la llamada, hay que a\u00f1adir esto a los par\u00e1metros.<br \/>\n<code>agent:new ProxyAgent(proxyUri)<\/code><\/p>\n<p>O lo haces en una variable opciones\u2026<\/p>\n<p><code>;var options = {<br \/>\nmethod: 'GET',<br \/>\nuri: 'http:\/\/www.algo.net' ,<br \/>\nresolveWithFullResponse: true,<br \/>\njson: true,<br \/>\nagent:new ProxyAgent(proxyUri) \/\/ esta para lo del proxy<br \/>\n};<\/code><\/p>\n<p>Que luego invocas, aqu\u00ed por ejemplo con request-promise:<\/p>\n<p><code>var rp = require('request-promise');<br \/>\nreturn rp(options);<\/code><\/p>\n<p>Aqu\u00ed con http:<\/p>\n<p><code>var http = require('http');<br \/>\nhttp.get(options, onresponse);<\/code><\/p>\n<p>&#8230; o lo haces poniendo el par\u00e1metro directamente en la llamada:<\/p>\n<p><code>rp({ url:url, json:true, agent:new ProxyAgent(proxyUri) });<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Peg\u00e1ndome con node.js y los proxies. El gestor de paquetes npm s\u00ed dispone de una variable global que la configuras [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"status","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1660","post","type-post","status-publish","format-status","hentry","category-status","post_format-post-format-status"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/posts\/1660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1660"}],"version-history":[{"count":9,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/posts\/1660\/revisions"}],"predecessor-version":[{"id":1669,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=\/wp\/v2\/posts\/1660\/revisions\/1669"}],"wp:attachment":[{"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/breves.lavigilanta.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}