Я использую wget
для Windows (gnuwin32 wget-1.11.4-1) в Windows 8 и использую его для инструмента справочной службы под названием Kayako, который сообщает о необходимости опроса из очереди электронной почты. Командная строка выглядит так:
wget.exe -O null --timeout 25 http://xxx.kayako.com/cron/index.php?/Parser/ParserMinute/POP3IMAP
Я знаю, что получение ответа от сервера в моем конкретном случае занимает около 20 секунд при использовании браузера с URL-адресом в командной строке выше. Однако при использовании этой команды она возвращается практически сразу. Это выдержка из вывода:
Подключение к xxx.kayako.com [xxx.xxx.xxx.xxx]: 80 ... подключено. HTTP-запрос отправлен, ожидание ответа ... 200 OK Длина: не указано [text / html]
Я хотел бы знать, в чем будет разница между этими двумя случаями и как я могу заставить wget вести себя так же, как браузер (я знаю, что это не так, потому что Kayako не опрашивает из очереди электронной почты).
wget
есть--user-agent
вариант - попробуйте указать известный. Используйте этот сайт whatsmyuseragent.com, чтобы увидеть текущую строку агента пользователя. Также вам может понадобиться использовать эту--referrer
опцию - некоторые сайты не любят пустых ссылок. Реферал, которого вы хотите отправить, - это URL-адрес страницы, содержащей ссылку, которую вы пытаетесь скачать. Также вам может потребоваться указать-e robots=off
.