почему завихрение и wget привели бы к запрещенным 403?

просто используйте

useradd -m -g users -G lp,scanner,audio,video,optical,storage,network,power,games,wheel -s /bin/bash iKlsR
58
29.06.2014, 11:58
4 ответа

HTTP-запрос может содержать больше заголовков, которые не задаются curl или wget. Например:

  • Cookie: это наиболее вероятная причина, по которой запрос будет отклонён, я видел это на сайтах загрузки. Получив куки -key=val, вы можете установить его с помощью опции -b key=val (или --cookie key=val) для - curl.
  • Referer (sic): при нажатии на ссылку на веб-странице большинство браузеров отправляют текущую страницу в качестве ссылающегося. На него не следует полагаться, но даже eBay не смог сбросить пароль, когда этот заголовок отсутствовал. Так что да, это может произойти. Опция curl для этого является -e URL и --referer URL.
  • Авторизация: сейчас это становится менее популярным в связи с неконтролируемым UI диалога имен пользователей/паролей, но это все еще возможно. Его можно установить в параметре curl с помощью опции -u user:password (или --user user:password).
  • User-Agent: некоторые запросы будут давать различные ответы в зависимости от агента пользователя. Это может быть использовано в хорошем смысле (предоставляя реальную загрузку, а не список зеркал) или в плохом (отвергая пользовательские агенты, которые не начинаются с Mozilla, или содержат Wget или curl).

Для чтения заголовков, отправляемых вашим браузером, вы можете обычно использовать средства разработчика вашего браузера (Firefox и Chrome поддерживают эту функцию). Если соединение не зашифровано (то есть не использует HTTPS), то для этой цели можно также использовать сниффер пакетов, например, Wireshark.

Помимо этих заголовков, вебсайты могут также запускать некоторые действия за кулисами, которые изменяют состояние. Например, при открытии страницы возможно, что в фоновом режиме выполняется запрос на подготовку ссылки для скачивания. Или же на странице происходит переадресация. Эти действия обычно выполняются с помощью Javascript, но для облегчения выполнения этих действий может также использоваться скрытый кадр.

Если вы ищете способ легко получить файлы с сайта загрузки, посмотрите на plowdown, входящий в состав plowshare.

40
27.01.2020, 19:33

Просто хочу добавить к вышеприведенным ответам, что вы можете использовать функцию "Copy as cURL", присутствующую в инструментах для разработчиков Chrome (начиная с версии 26.0) и Firebug (начиная с версии v1.12). Вы можете получить доступ к этой функции, щелкнув правой кнопкой мыши строку запроса на вкладке "Сеть".

.
13
27.01.2020, 19:33

В зависимости от того, что вы просите, это может быть печенье. С помощью Firefox вы можете сделать щелчок правой кнопкой мыши, когда вы находитесь на соответствующей странице, "Просмотр информации о странице". Выберите значок "Безопасность", а затем нажмите кнопку "Просмотр файлов cookie".

Для решения головоломок с куки-файлами необходим плагин Firefox "Live HTTP Headers" (Живые HTTP-заголовки). Вы можете увидеть, какие cookie-файлы устанавливаются, а какие отправляются обратно на веб-сервер.

wget может работать с куки-файлами, но это совершенно бесит, так как не дает намёка на то, что он не посылал куки-файлы. Лучше всего удалить все связанные с этим куки-файлы из браузера и пройти через любую начальную последовательность входа или просмотра страницы. Посмотрите "Live HTTP Headers" для cookie-файлов, а также для любых POST или GET-параметров. Выполните первый шаг входа в систему с помощью wget, используя опции "--keep-session-cookies" и "--save-cookies". Это даст вам файл cookie, который вы можете просмотреть в текстовом редакторе. Используйте wget --load-cookies с файлом cookie для последующих шагов.

5
27.01.2020, 19:33

Другая причина, по которой это может произойти, заключается в том, что сайту требуется SSL. Ваш браузер будет автоматически перенаправлять с HTTP на HTTPS, но curl и wget - нет. Так что попробуйте запрос с HTTPS вместо HTTP.

1
27.01.2020, 19:33

Теги

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