Wget trava no meio do pedido get

0

Às vezes, wget ou curl aleatoriamente trava no meio da solicitação get no Ubuntu 10.10:

curl "http://api.indeed.com/ads/apisearch?publisher=7570038743238473"
wget "http://api.indeed.com/ads/apisearch?publisher=7570038743238473" -O - -d

Parece que o problema está em alguma biblioteca de baixo nível que faz a solicitação, mas não em cabeçalhos, cookies ou caches.

Alguma idéia?

    
por Bogdan Gusiev 29.11.2010 / 14:39

3 respostas

1

Esse URL busca sem erros ou trava para mim. Como wget e curl são, em geral, essas bibliotecas de baixo nível, e eles só compartilhar o protocolo HTTP / TCP, o erro pode estar em dois lugares:

  1. O pedido pode ser mal utilizado do seu lado. Eu experimentei sintomas como isso várias vezes, e parece que pode ser causada por um nó na sua rota para o servidor que tem MTU menos do que o seu (muitas vezes é VPN do seu provedor, se usá-lo), e por causa de que os pacotes são descartados (não sei exatamente o que acontece lá, pois eles devem ser fragmentados em teoria).

    Uma verificação rápida é reduzir a MTU localmente no seu link Ethernet / WiFi da seguinte forma:

    sudo ip link set $IFACE mtu 1300
    

    em que $ IFACE é sua interface de rede ( eth0 , wlan0 ou algo semelhante).

  2. A solicitação pode ser executada pelo servidor. O servidor pode estar sobrecarregado, mal configurado ou apenas bloquear suas solicitações seletivamente. Esta é a variante menos provável e não pode ser diagnosticada facilmente.

por 29.11.2010 / 16:24
0

Minhas ideias:

  • O servidor está ocasionalmente sobrecarregado.
  • Use um sniffer (como o Wireshark) para ver o que está acontecendo quando ele é interrompido.
  • Use o strace para ver o que o wget / curl está fazendo quando ele é interrompido.
por 29.11.2010 / 16:04
0

Eu usaria tcpdump para ver exatamente onde ele fica. Você pode encontrar regularidades.

    
por 29.11.2010 / 17:21

Tags