Contents

Como limitar o tempo de solicitação do curl

Quando se trata de fazer pedidos na web, o tempo é crucial. Ninguém gosta de esperar sem parar que uma página web carregue ou que um servidor responda. Se estás a usar o curl para ir buscar dados à web, vais gostar de saber que há maneiras de pôr um limite no tempo que os teus pedidos demoram.

Para manter uma medida de controlo sobre as suas actividades de obtenção de dados, é aconselhável impor uma restrição à duração dos pedidos cURL. Isto pode ser conseguido definindo um limite de tempo específico para cada pedido individual e assegurando que não excede este limite. Ao fazê-lo, é possível regular eficazmente a quantidade de tempo gasto a obter dados através do cURL e evitar potenciais problemas decorrentes de tempos de transferência de dados prolongados ou outros problemas relacionados.

Método 1: Usando a opção -max-time

Ao executar o comando curl , pode-se utilizar a opção -m ou --max-time para impor uma restrição de tempo rigorosa à solicitação. Esta configuração permite a especificação da duração máxima, em segundos, durante a qual o comando pode ser executado antes de terminar abruptamente e produzir um código de saída que significa um erro de timeout (28).

 curl --max-timе [sеconds] [URL] 

A precisão decimal permite a especificação de um valor máximo com maior exatidão do que os valores de números inteiros permitiriam. Por exemplo, definir um limite de tempo máximo de 0,3 segundos equivale a 300 milissegundos, enquanto um limite de tempo máximo de 5,46 segundos equivale a 5.460 milissegundos. Da mesma forma, um limite de tempo máximo de 20 segundos pode ser definido exatamente como 20 segundos.

Por exemplo:

 curl -o test.md --max-time 30 https://github.com/test/file1 

/pt/images/using-maxtime-seconds-on-ubuntu.jpg

Esta instrução envia um inquérito para a ligação GitHub fornecida. A informação de resposta é guardada em test.md, e a operação é concluída num período máximo de trinta segundos.

Método 2: Usando a opção -connect-timeout

Para regular a duração que o cURL dedica à tentativa de estabelecer uma conexão com um host específico, utilize a opção --connect-timeout . Este parâmetro impõe um limite máximo à quantidade total de tempo alocado para percorrer os vários estágios necessários para formar uma conexão bem-sucedida, que engloba os seguintes processos:

Se a biblioteca libcurl não conseguir iniciar uma conexão dentro do limite de tempo predeterminado, ela gerará um código de erro correspondente a uma ocorrência de timeout (28).

 curl --connect-timeout [seconds] [URL] 

Por exemplo:

 curl -o test.md --connect-time 20 https://github.com/test/file 

/pt/images/using-connect-timeout-seconds-on-ubuntu.jpg

Utilizando o comando curl, esta implementação descarrega o conteúdo incorporado no URL fornecido e armazena-o como um ficheiro chamado “test.md”. Além disso, impõe uma restrição rigorosa de vinte segundos na duração necessária para criar uma ligação com o servidor remoto.

Controlar Pedidos Curl para Recuperação Rápida

No ambiente acelerado de hoje, onde a produtividade e a eficiência são fundamentais, ter a capacidade de gerir a duração dos pedidos cURL pode ser altamente vantajoso. Ao utilizar a opção “-connect-timeout” ou “-max-time”, exerce-se controlo sobre as operações de recuperação de dados. Consequentemente, não haverá mais momentos desperdiçados, uma vez que as consultas web simplificadas e bem reguladas se tornam a nova norma.

Quando se deparar com o tédio de aguardar a conclusão de um pedido curl, considere a possibilidade de utilizar as técnicas aqui detalhadas para exercer controlo sobre os procedimentos e dar um sentido de propósito a uma tarefa que, de outra forma, seria mundana.