Просто по запросу ссылки отдаётся html страница, в ней JS код, который проверяет наличие куки c нужным именем и IP адресом, если нету - устанавливает её и перезагружает страницу
Фрагмент установки: setCookie('Y...6', '1.2.3.4', 10);
Для того, чтобы выяснить минимальный набор заголовков, который надо передавать - используйте Chrome, инструменты разработчика, вкладка Network, правым кликом на запросе - "Copy as Curl (cmd)".
Для тестирования скачать curl for windows, крутить запрошенный текст в командной строке, по одному убирая параметры -H
Еще будет полезен ключик -k, чтобы не ругалось на сертификаты:
curl -k "
https://...." .....
Когда удалось вполне разумно руками получать результат, пишите то же самое на PHP. PHP cURL справляется на ура.
Соответственно вся логика - запрашивается страница с нужными заголовками, если отдали html, то проанализировать значение куки, поправить в запросе и переслать заново. Для совсем первого запроса запрашивать без куки, для следующих - сохранять.