Wget зависает посреди, получают запрос

Иногда wget или завихрение случайным образом зависают посреди, получают запрос в Ubuntu 10.10:

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

Кажется, что проблема находится в некоторой низкоуровневой библиотеке, которая делает запрос, но не в заголовках, cookie или кэшах.

Какие-либо идеи?

0
задан 29.11.2010, 15:39

3 ответа

Этот URL выбирает без ошибок или зависает для меня. Как wget и curl обычно, эти библиотеки низкого уровня, и они только совместно используют протокол HTTP/TCP, ошибка может быть в двух местах:

  1. С запросом можно не справиться на Вашей стороне. Я испытывал признаки как это несколько раз, и похож на это, они могут быть вызваны узлом на Вашем маршруте к серверу, который имеет MTU менее, чем Ваш (часто, это - VPN Вашего поставщика, если они используют его), и из-за которого пакеты отбрасываются (я не знаю то, что происходит там точно, поскольку они должны быть фрагментированы в теории).

    Быстрая проверка должна понизить MTU локально на Вашу ссылку Ethernet/Wi-Fi как это:

    sudo ip link set $IFACE mtu 1300
    

    где $IFACE является Вашим сетевым интерфейсом (eth0, wlan0 или такой).

  2. Запрос может быть лишен новизны сервером. Сервер может или быть перегружен, неправильно сконфигурирован или просто блокирование Ваших запросов выборочно. Это - менее вероятный вариант, и он не может быть диагностирован легко.

1
ответ дан 24.11.2019, 12:15

Мои идеи:

  • Сервер иногда перегружается.
  • Используйте сниффера (такого как Wireshark) для наблюдения то, что происходит, когда он зависает.
  • Используйте strace для наблюдения то, что делают wget/curl, когда он зависает.
0
ответ дан 24.11.2019, 12:15

Я использовал бы tcpdump для наблюдения, где точно он зависает. Вы могли бы найти регулярность.

0
ответ дан 24.11.2019, 12:15

Теги

Похожие вопросы