A recuperação de páginas da web compactadas com cURL pode representar desafios ao exibir o conteúdo em um navegador. Em vez de obter o HTML pretendido, você pode acabar com dados brutos compactados em gzip. Para resolver esse problema, nos aprofundamos nos métodos de decodificação eficientes em PHP.
Primeiro, precisamos entender o comportamento do cURL. Por padrão, cURL não decodifica automaticamente dados compactados em gzip. Para habilitar isso, podemos ativar o modo de "codificação automática" do cURL.
Execute o seguinte comando para permitir que o cURL lide com o processo de codificação:
// Allow cURL to use gzip compression, or any other supported encoding
// A blank string activates 'auto' mode
curl_setopt($ch, CURLOPT_ENCODING, '');
Com esta configuração, cURL informará o servidor sobre os métodos de codificação suportados (por meio do cabeçalho Accept-Encoding) e descompactará automaticamente a resposta.
Para situações específicas, você pode preferir forçar o cabeçalho a ser Accept-Encoding: gzip. Use este comando:
// Allow cURL to use gzip compression, or any other supported encoding
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
Ao ativar o modo de codificação automática do cURL ou forçar a codificação gzip, você pode decodificar facilmente páginas da web compactadas com gzip recuperadas via cURL em PHP. Consulte a documentação do PHP para obter mais detalhes sobre curl_setopt.
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