У меня есть эта ссылка http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593
Он обеспечивает перенаправление на любой браузер в Android (внутренний, Chrome, Firefox). Но он не перенаправляется на настольные браузеры.
И эта ссылка НЕ МОЖЕТ быть обманута! Поэтому, если я изменю useragent на моем рабочем столе Firefox на строку, ТОЧНО, соответствующую строке мобильного телефона, я не могу перенаправить. Также, если я переключу ЛЮБОЙ из моего мобильного браузера в рабочий режим, я все еще перенаправляюсь. Я могу обмануть ЛЮБОЙ из обычных методов обнаружения мобильных устройств, изменив UserAgent. Но я не могу обмануть эту ссылку.
Поэтому я предполагаю, что перенаправление основано не на анализе UserAgent. Обратите внимание, что я использую свой мобильный телефон с Wi-Fi, который подключен к моему маршрутизатору. Таким образом, у телефона есть тот же внешний IP-адрес с моим настольным компьютером. это касается версии обнаружения IP-адреса беспроводного провайдера.
Итак, возникает вопрос: как работает это перенаправление и как я могу реализовать подобное.
Использование curl
из командной строки Bash:
$ curl -i 'http://appflood.go2cloud.org/aff_c?offer_id=1724&aff_id=2593'
HTTP/1.0 302 Moved
Location: http://10.42.217.107:15871/cgi-bin/blockpage.cgi?ws-session=356106294
Pragma: no-cache
Cache-Control: no-cache
И затем запрашивая URL-адрес перенаправления:
$ curl -i 'http://10.42.217.107:15871/cgi-bin/blockpage.cgi?ws-session=356106294'
HTTP/1.0 200 OK
Content-Length: 800
Content-Type: image/gif
GIF87a...
Я вставил этот URL в Firefox 35.0 на Windows 7 (ноутбук), и перенаправление работало нормально.
Я не вижу здесь проблемы, если у вас нет кэшированных версий этих URL-адресов в браузерах для настольных компьютеров.
Редактировать # 1: добавлены одинарные кавычки вокруг URL-адреса в команде curl, чтобы символ &
завершил команду досрочно.
Редактировать # 2: я попробовал tracert
на appflood.go2cloud.org:
$ tracert appflood.go2cloud.org
Tracing route to appflood.go2cloud.org [54.175.84.195]
over a maximum of 30 hops:
1 4 ms 1 ms 1 ms <Internal Domain Name/IP>
... ... ... ... ...
12 25 ms 25 ms 36 ms 198.71.46.9 (Ann Arbor, Michigan, USA)
13 26 ms 26 ms 25 ms 72.21.220.29 (Amazon.com, Seattle, Washington, USA)
14 26 ms 26 ms 26 ms 205.251.245.224 (Amazon.com, Seattle, Washington, USA)
15 * * * Request timed out.
... ... ... ... ...
30 * * * Request timed out.
(Я не учитывал внутренние IP-адреса и имена доменов, а также многочисленные таймауты для краткости)
@axiac сказал в комментарии ниже, что та же проблема была. Это может быть проблема региональной маршрутизации сети, так как я нахожусь в США, и она работает нормально.
&
), который завершает команду и говорит bash
запустить ее в фоновом режиме. Обратите внимание на номер задания и его PID ( [1] 2784
) перед тем, как curl
вывод. Поместите URL между кавычками или апострофами, чтобы проверить это правильно.