es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo abrir un sitio web protegido por Cloudflare usando Chromedp?

¿Cómo abrir un sitio web protegido por Cloudflare? como https://coinlist.co.

Solo quiero abrir https://coinlist.co usando Chromepd con la bandera headless = true, pero Chrome muestra el mensaje “Chrome está siendo controlado por software de prueba automatizada” y la página de Chrome se bloquea en la página de Cloudflare. Parece que Cloudflare puede detectar Chromedp.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para acceder a un sitio web protegido por Cloudflare, como coinlist.co, utilizando Chromedp con la bandera headless = true, es posible que te encuentres con una ventana emergente de Chrome que te notifica que “Chrome está siendo controlado por software de prueba automatizada” y la página de Chrome puede bloquearse en la página de Cloudflare. Esto se debe a que Cloudflare puede detectar Chromedp.

    Para evitar esta restricción, puedes utilizar una cadena de agente de usuario en tu script de Chromedp que coincida con un navegador web real, como Chrome en un equipo de escritorio o dispositivo móvil. Esto hará que tu solicitud automatizada parezca más legítima y menos como una prueba automatizada.

    Aquí tienes un ejemplo de script de Chromedp con una cadena de agente de usuario modificada:

    package main
    
    import (
        "context"
        "fmt"
        "log"
    
        "github.com/chromedp/chromedp"
    )
    
    func main() {
        // Define una cadena de agente de usuario personalizada
        opts := append(chromedp.DefaultExecAllocatorOptions[:],
            chromedp.NoSandbox,
            chromedp.Flag("headless", true),
            chromedp.Flag("disable-gpu", true),
            chromedp.Flag("ignore-certificate-errors", true),
            chromedp.Flag("disable-extensions", true),
            chromedp.Flag("disable-popup-blocking", true),
            chromedp.Flag("disable-web-security", true),
            chromedp.UserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"),
        )
    
        // Crea un nuevo contexto
        ctx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
        defer cancel()
    
        // Inicia una nueva instancia del navegador
        ctx, cancel = chromedp.NewContext(ctx)
        defer cancel()
    
        // Navega hasta el sitio web objetivo
        err := chromedp.Run(ctx, chromedp.Navigate(`https://coinlist.co`))
        if err != nil {
            log.Fatal(err)
        }
    
        // Imprime el título del sitio web
        var title string
        err = chromedp.Run(ctx, chromedp.Title(&title))
        if err != nil {
            log.Fatal(err)
        }
    
        fmt.Println(title)
    }
    

    Con esta cadena de agente de usuario modificada, deberías poder acceder al sitio web de CoinList utilizando Chromedp sin activar la protección de Cloudflare.

Comments are closed.