А чем замороченное? Что библиотеки добавлять? Ну хз для меня это не проблема.
Насчет 130-150 строчек. Ну тут все решение по сути укладывается в 35 строк кода. Можно поджать и до 25.
Остальное это вспомогательные методы, которые у меня вынесены в отдельный класс, тут же просто запихал все в один.
Защиту можно обойти двумя способами. Или выполнить js скрипт, чтобы сформировать урл для запроса, или расковырять js скрипт и из него самому сформировать урл.
Я делал через Jint, основное решение выглядело примерно так.
Про то что ты пишешь, там идет расковыривание js сркипта. И там скорее всего решение выдрано из
CloudFlareUtilities.
Во сколько строчек кода, и только ли кода, не помню как там сделано.
https://github.com/elcattivo/CloudFlareUtilities/blob/master/CloudFlareUtilities/ChallengeSolver.cs
Вот тут собственно и формируется урл для запроса.
А насчет кол-ва строк, я не стремлюсь сделать все максимально компактно, пусть лучше будет больше кода, разнесено в отдельные классы и методы, но зато это воспринимается проще, чем когда все в кучу.
Но каждому свое.