xenon
@xenon
Too drunk to fsck

Как открыть www.dhl.ru curl'ом?

Очень легко открыть www.dhl.ru (или https://www.dhl.ru) в браузере. (Дальше он там кинет редирект на другой сайт, но это уже не имеет значения).

Но если сделать curl http://www.dhl.ru/ - то ничего не будет (просто "висит", пока не нажмешь Ctrl-C):

xenon@pi:/tmp $ curl https://www.dhl.ru/
^C


То же самое с www.dhl.com

Наверное, это защита от ботов, скрапинга - все ок, понимаю. Но как она работает? Я пробовал заменить User-Agent и другие хидеры, пробовал --http2, в общем, мне кажется, попробовал почти полностью "представиться" настоящим человеческим браузером и ничего не помогает.

Практической ценности в задаче нет, случайно на это наткнулся, но очень хочется понять, как это сделано и как это можно обойти (curl, wget, python requests итд)?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
curl 'http://dhl.com/' \
  -H 'Connection: keep-alive' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36' \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
  -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
  --compressed \
  --insecure -I

TP/1.0 301 Moved Permanently
Location: http://www.dhl.com/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
init0
@init0
Старый моряк
curl -s -I \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0;) Firefox/80" \
-H "Accept: */*" \
-H "Accept-Encoding: *" \
https://www.dhl.ru
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы