"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como emular a solicitação GET de um navegador da Web com Curl?

Como emular a solicitação GET de um navegador da Web com Curl?

Publicado em 2024-11-09
Navegar:854

How to Emulate a Web Browser\'s GET Request with Curl?

Emulando uma solicitação GET de um navegador da Web com Curl

Ao tentar recuperar páginas da Web usando curl, você pode encontrar erros que parecem resultar de cabeçalhos de solicitação não reconhecidos ou não atendidos. Isso ocorre porque o curl não emula nativamente os cabeçalhos de solicitação GET de um navegador da web.

Para simular corretamente um navegador da web, siga estas etapas:

  1. Configurar o agente do usuário :

    • Atribua um agente de usuário válido à solicitação curl usando CURLOPT_USERAGENT. Isso informa ao servidor qual navegador e sistema operacional você está simulando.
  2. Tratar cookies (opcional):

    • O servidor pode usar cookies para autenticar solicitações. Para gerenciar cookies, use CURLOPT_COOKIE, CURLOPT_COOKIEFILE e CURLOPT_COOKIEJAR.
  3. Verificar certificado SSL:

    • Se a solicitação envolver HTTPS, pode ser necessário verificar o certificado SSL. Use CURLOPT_SSL_VERIFYPEER para desativar a verificação de certificado (não recomendado para conexões seguras).
  4. Definir modo detalhado:

    • Para imprimir depurar informações e fornecer insights sobre o processo de solicitação-resposta, habilite CURLOPT_VERBOSE.
  5. Código de exemplo:

    • Aqui está um exemplo atualizado que inclui estas melhorias:
$url = "https://new.aol.com/productsweb/subflows/ScreenNameFlow/AjaxSNAction.do?s=username&f=firstname&l=lastname";
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
var_dump($result);
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3