Використання wget не дає такого ж виводу, як браузер


1

я використовую 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

Я знаю, що для отримання відповіді від сервера в моєму конкретному випадку, коли використовується браузер з URL-адресою в командному рядку вище, знадобиться близько 20 секунд. Однак, використовуючи цю команду, вона повертається майже відразу. Це витяг з виходу:

Підключення до xxx.kayako.com [xxx.xxx.xxx.xxx]: 80 ... підключено. HTTP   запит надіслано, очікується відповідь ... 200 OK Довжина: не вказано   [text / html]

Я хотів би знати, яка різниця між цими двома випадками і як я можу отримати wget, щоб вести себе так само, як і браузер (я знаю, що це не так, тому що Kayako не проводить опитування з черги електронної пошти).

Відповіді:


1

Деякі веб-сайти пропонують оптимізовані для перегляду сторінки. Це означає, що сайт перевіряє запит, який тип веб-переглядача ви використовуєте, і обслуговує вас оптимізованою сторінкою або як резервна стандартна сторінка.

Також проблемою може бути java-script посилання


wget має --user-agent option - спробуйте вказати добре відому. Використовуйте цей сайт whatsmyuseragent.com щоб побачити поточний рядок агента користувача. Також може знадобитися використання --referrer опція - деякі сайти не люблять пусті реферери. Реферер, якому потрібно надіслати, це URL-адреса сторінки, яка містить посилання, яке ви намагаєтеся завантажити. Також вам може знадобитися вказати -e robots=off.
LawrenceC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.