• Descarga el eBook gratuito SEO en Wordpress 2015 aquí

    • Pack con las mejores herramientas SEO en las VIP Tools apúntate!


     
    Calificación:
    • 0 votos - 0 Media
    • 1
    • 2
    • 3
    • 4
    • 5
    Como utilizar Proxy en PHP usando la librería Curl

    Administrador


    *******
    Puntos de comerciante: 1 (100%)
    2,899


    Programador Promotor Blog 1000 Posts Asistente

    Crédito: 22.72 BHC
    Mensaje: #1
    Como utilizar Proxy en PHP usando la librería Curl
    Si quieres saber como scrapear utilizando PHP te recomiendo este hilo:
    http://foroblackhat.com/hilo-scrapear-utilizando-php-nativo-y-la-librer%C3%ADa-curl

    Ahora vamos a tratar como Scrapear empleando Proxy, que es dar un pasito más en el scripting del Blackhatero Sonrisa

    Vamos a trabajar con nuevas opciones de Curl que son:
    CURLOPT_PROXY El proxy HTTP para enviar peticiones a través de tunel.
    CURLOPT_PROXYTYPE: Puede ser CURLPROXY_HTTP (por defecto) o bien CURLPROXY_SOCKS5.
    CURLOPT_HTTPPROXYTUNNEL: TRUE para usar un tunel a través de un proxy HTTP.
    y en el caso de necesitar autentificación en el proxy serían:
    CURLOPT_PROXYAUTH: Método de autenticación HTTP para usar conexiones vía proxy. Usa el mismo tipo de máscaras descritas en CURLOPT_HTTPAUTH. Para autenticación proxy, solamente CURLAUTH_BASIC y CURLAUTH_NTLM están actualmente soportadas.
    CURLOPT_PROXYUSERPWD: Usuario y contraseña con el siguiente formato "[username]:[password]" para usarse en la conexión al proxy.

    <?PHP
    function get_content_url_with_proxy($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
    curl_setopt($ch, CURLOPT_PROXY, 'ip:port');
    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8');

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
    }

    Está en negrita lo que tienes que cambiar para que trabaje el Curl a través de un proxy. Si no hay autentificación en el proxy, quita o comenta las líneas con las opciones URLOPT_PROXYAUTH y CURLOPT_PROXYUSERPWD.


    Cualquier duda para implementar esto en PHP, coméntala en este hilo.

    Aquí puedes ver todas las opciones y sus posibles parámetros que puedes utilizar en Curl:
    Para ver el enlace necesitas registrarte o acceder a tu cuenta

    http://foroblackhat.com/hilo-abrir-un-nuevo-grupo-vip-tools-para-herramientas-seo-premium
    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    - Canciones. Traducidas. Dedicadas. Sonrisa
    (Este mensaje fue modificado por última vez en: 19-03-2014 03:12 PM por Sauron.)
    19-03-2014 03:08 PM
    Buscar Citar

    BlackHat Bronce


    **
    VIP Tools
    Puntos de comerciante: 1 (100%)
    42

    0


    Crédito: 0.08 BHC
    Mensaje: #2
    RE: Como utilizar Proxy en PHP usando la librería Curl
    Buenas, he probado este codigo y no se por que no me funcionó.

    He conseguido que me funcione cambiando estas 4 lineas:
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
    curl_setopt($ch, CURLOPT_PROXY, 'ip:port');
    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');

    Por esta:
    curl_setopt($ch, CURLOPT_PROXY, 'ip:port:username:password');

    Lo dejo aquí por si a alguien le viene bien
    26-03-2014 09:02 AM
    Buscar Citar

    Administrador


    *******
    Puntos de comerciante: 1 (100%)
    2,899


    Programador Promotor Blog 1000 Posts Asistente

    Crédito: 22.72 BHC
    Mensaje: #3
    RE: Como utilizar Proxy en PHP usando la librería Curl
    Muchas gracias @emiceru

    La verdad es que estas dos líneas nunca la había usado, las saqué de la documentación que hay en PHP.net:
    Código:
    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');

    Posiblemente el problema es que el tipo de autenticación sea otro al CURLAUTH_NTLM, podrías probar la autenticación básica CURLAUTH_BASIC, por lo que quedarían las cuatro líneas:
    Código:
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //sino lo especificas usa CURLPROXY_HTTP por defecto
    curl_setopt($ch, CURLOPT_PROXY, 'ip:port');
    curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');

    Recordar que si el proxy es un socks5 en CURLOPT_PROXYTYPE deberéis poner: CURLPROXY_SOCKS5

    http://foroblackhat.com/hilo-abrir-un-nuevo-grupo-vip-tools-para-herramientas-seo-premium
    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    - Canciones. Traducidas. Dedicadas. Sonrisa
    26-03-2014 09:55 AM
    Buscar Citar

    BlackHat Bronce


    **
    Puntos de comerciante: 0 (0%)
    46

    0


    Crédito: 0.98 BHC
    Mensaje: #4
    RE: Como utilizar Proxy en PHP usando la librería Curl
    @Sauron controlas de Python y Proxies?

    Google Rankings all day long BABY!
    06-04-2014 03:29 AM
    Buscar Citar

    Administrador


    *******
    Puntos de comerciante: 1 (100%)
    2,899


    Programador Promotor Blog 1000 Posts Asistente

    Crédito: 22.72 BHC
    Mensaje: #5
    RE: Como utilizar Proxy en PHP usando la librería Curl
    (06-04-2014 03:29 AM)powerseo escribió:  @Sauron controlas de Python y Proxies?

    Con Python hice unas prácticas de la Universidad con la librería OpenCV de reconomiento de imágenes, que es muy potente, pero después de esto, no he vuelto a tocar ese lenguaje, por lo que todo lo que hago como lenguaje de servidor utilizo PHP, que me resulta muy cómodo.

    http://foroblackhat.com/hilo-abrir-un-nuevo-grupo-vip-tools-para-herramientas-seo-premium
    Para ver el enlace necesitas registrarte o acceder a tu cuenta
    - Canciones. Traducidas. Dedicadas. Sonrisa
    09-04-2014 07:55 PM
    Buscar Citar


    Posibles temas similares...
    Tema: Autor Respuestas: Vistas: Último mensaje
      Como ofuscar a tope un código JavaScript gratis Sauron 4 524 13-10-2016 02:20 AM
    Último mensaje: iamcholo
      Formularios de contacto sin necesidad de PHP ni iFrame usando Formspree Sauron 3 335 29-09-2016 10:41 PM
    Último mensaje: Sauron
      Como hacer vibrar un móvil usando Javascript HTML5 Sauron 1 1,203 06-03-2016 11:47 AM
    Último mensaje: javinoyo
      iMacros usando Proxy en Firefox Sauron 3 3,315 28-01-2016 01:07 AM
    Último mensaje: jessy
      Que CMS utilizan empresas como Xopie o Palbin ben85 0 511 20-10-2015 10:28 PM
    Último mensaje: ben85
      Scrapear utilizando PHP nativo y la librería Curl Sauron 7 3,236 09-07-2015 06:43 AM
    Último mensaje: ErickGS
      Cómo usar preg_match para scrapear? mrr276 3 1,571 29-07-2014 12:22 AM
    Último mensaje: heyla03
      Ayuda con Script IMacros - Agregar amigos automaticamente usando una lista de UID's ArielCamilo 4 2,507 28-04-2014 12:11 PM
    Último mensaje: Sauron
      Como sacar un parámeto GET de una url con JavaScript Sauron 1 921 21-04-2014 03:16 AM
    Último mensaje: deulo

    Salto de foro:


    Usuario(s) navegando en este tema: 1 invitado(s)
    Anuncios FBH (+ info)

    Foro Black Hat

    ForoBlackHat es un foro público con ánimo de desarrollo de aplicaciones y estrategias SEO para la comunidad hispano hablante cuyo objetivo sea el de aprender técnicas de posicionamiento.

    Nuestra comunidad cuenta con un equipo de programadores que desarrollan día a día nuevas herramientas gratuitas para los usuarios. ¡Siéntete libre de registrarte y comentar por los hilos!