AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 693358
Accepted
Quora Feans
Quora Feans
Asked: 2022-03-08 15:47:42 +0800 CST2022-03-08 15:47:42 +0800 CST 2022-03-08 15:47:42 +0800 CST

Eu recebo uma página html diferente usando Ctrl + u e curl

  • 772

Quando vou a esta página da web ( https://imgur.com/user/Ultraruben/submitted por exemplo) e pressiono Ctrl+u, recebo uma página da web. Quando tento extrair o html pela linha de comando curl <url>ou curl -L <url>recebo outro. lynx -dump <url>também não funciona (sem javascript).

Eu preciso passar pela linha de comando (com qualquer ferramenta que funcione) da mesma forma que recebo pelo meu navegador com Ctrl+u.

Isto é o que eu consegui através do navegador Opera: https://justpaste.it/42ci1 E isso é com curl: https://justpaste.it/9oy3g

command-line curl
  • 2 2 respostas
  • 295 Views

2 respostas

  • Voted
  1. Best Answer
    Marcus Müller
    2022-03-08T23:52:27+08:002022-03-08T23:52:27+08:00

    É muito comum que os sites reajam ao tipo de cliente que estão vendo com conteúdo diferente.

    Parte disso é bem-intencionada: por exemplo, alguns sites se esforçam para oferecer suporte a telefones incrivelmente antigos ou PCs com Windows. Do ponto de vista da segurança, você gostaria de dizer a um usuário do Internet Explorer 5 que ele precisa atualizar - mas seu trabalho pode ser ajudar a levar informações de saúde ao público, não dizer às pessoas sem dinheiro que elas precisam comprar um novo laptop.

    Às vezes, você precisa oferecer suporte a um dispositivo de jogo antigo com um site especificamente peculiar para deixar seu navegador feliz ou entregar uma versão do site otimizada para a tela.

    De qualquer forma, é provavelmente o que está acontecendo aqui; seu curl envia "Ei, eu sou curl", o servidor da web reage com uma página específica para ferramentas automatizadas, não para navegadores.

    Então, primeiro: verifique se as coisas resolvem se você disser ao curl para usar o mesmo user agent que seu navegador principal. Talvez isso já resolva as coisas.

    Se você diz que o lynx não funciona porque não faz JavaScript, então, bem, você precisa de algo que faça todo o JavaScript que um navegador moderno faz. Isso significa que ele precisa ser um navegador moderno. Existem maneiras de criar marionetes em navegadores a partir de uma linha de comando. Em essência, você está procurando por WebDriver .

    Isso não funcionará sem você escrever algumas linhas de script. A documentação do WebDriver da Mozilla tem um exemplo que pode ajudar você a começar. Você desejará adicionar um pouco de espera (na conclusão do carregamento, mais algumas frações de segundo) para permitir que o JavaScript seja concluído, antes de obter o código-fonte. O exemplo faz isso esperando que um elemento específico comece a existir.

    • 3
  2. ceving
    2022-03-09T00:02:59+08:002022-03-09T00:02:59+08:00

    Use a opção-H para definir o User-Agentcabeçalho .

    Se você usa o Firefox, pode abrir o analisador de rede e clicar com o botão direito do mouse em uma solicitação de obtenção. Em seguida, selecione "Copiar como endereço cURL" no menu de contexto. Para o URL cr.yp.to, você receberá o seguinte comando:

    curl 'http://cr.yp.to/' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: de,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1'
    
    • 0

relate perguntas

  • Qual é a interface recomendada para um utilitário que requer muitos parâmetros? [fechado]

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • Fazendo mysql CLI me pedir uma senha interativamente

  • Como baixar um arquivo no terminal cujo link redireciona e parece funcionar apenas na GUI?

  • Pub / sub de linha de comando sem um servidor?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve