Проверка браузера с помощью js

103
17 апреля 2021, 08:00

Пишу программу-парсер на Java, но проблема в том, что у некоторых сайтов (как пример со списком прокси-серверов) перед входом на сайт есть скрипт проверки браузера. Вот пример:

document.addEventListener("DOMContentLoaded", function(event){eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h 1c=\'8\',X=\'5\',A=\'2\',1k=\'0\',1f=\'c\',Z=\'7\',M=\'6\',F=\'3\',z=\'f\',14=\'6\',D=\'1\',H=\'a\',1i=\'3\',S=\'e\',1h=\'6\',19=\'2\',E=\'6\',1m=\'c\',17=\'-\',12=\'d\',1e=\'7\',1g=\'4\',1l=\'7\',1T=1+(5),C=\'4\',O=\'3\',16=\'d\',Y=\'e\',11=\'4\',1b=\'a\',18=\'4\',1p=\'d\',G=\'7\',13=\'6\',1o=\'3\',1j=\'7\',1d=\'a\',1Q=-5+(5),I=\'c\',J=\'1\',1a=\'1\',1n=\'2\',1q=\'8\',B=\'f\',1M=-5+(9),15=\'6\',c=J+X+1h+1o+M+1g+O+1k+1i+18+17+19+1a+1b+16+15+Z+Y+11+12+14+13+1c+1d+1m+1l+1n+1p+1j+1f+1e+1q+S+F+E+H+I+C+z+A+D+B+G;h i,g,o;1C.o="2m="+c+"; 1A=/";b k(n,t){n=n+"";j n.W>=t?n:1B 2f(t-n.W+1).y("0")+n}b 1F(m){j m.2a(".").29(b(R,T){j(R<<8)+2c(T,10)},0)>>>0}1K{u(v.U){U(b(){s.V({Q:"/P/L.K"},b(p){h q=p.N(b(r){j r.1r});g=s.1L(q.y(""),1J)})})}2e{2d(b(){s.V({Q:"/P/L.K"},b(p){h q=p.N(b(r){j r.1r});g=s.1L(q.y(""),1J)})},2j)}}1H(e){}1K{2g(b(m){u(!i&&/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/.28(m)){i=m}})}1H(e){}h 1t=1u.1s();h 1z=v.2k(b(){u(w g!=="x"||1u.1s()-1t>2l){2h(1z);g=(w g==="x")?k(0,2i):g;i=(w i==="x")?k(0,10):k(1F(i),10);o=g+i+k(1D.t,4)+k(1D.27,4);1C.o="1E="+o+"; 1A=/";h l=1B 1W(),1G="1y://1v-1x.1w/1R/1S.1O?1E=1P",1I="1y://1v-1x.1w/1Z/1V/?1X=1";l.1Y("26",1G,20);l.24=b(){u(l.23!=4||l.22!=21){j}v.1U=1I};l.1N()}},2b);',62,147,'|||||||||||function|||||fp|var|lip|return|pad|request|ip||cookie|components|values|component|Fingerprint2|width|if|window|typeof|undefined|join|v26|v17|v27|v41|v1|v39|v18|v36|v43|v23|v21|swf|FontList|v29|map|v22|js|swfPath|ipInt|v37|octet|requestIdleCallback|get|length|v2|v13|v44||v3|v19|v32|v8|v24|v16|v10|v40|v15|v31|v4|v14|v38|v42|v30|v34|v20|v12|v11|v5|v6|v7|v9|v35|v33|v45|value|now|t0|performance|best|ru|proxies|https|continueFunc|path|new|document|screen|DtXg6tuH6M|ip2int|url|catch|redir|31|try|x64hash128|v28|send|php|a64773b4b9e32d495c01106f1163e4b5|v25|ajax|setcookie|v0|location|free|XMLHttpRequest|attempt|open|proxylist|true|200|status|readyState|onreadystatechange||POST|height|test|reduce|split|100|parseInt|setTimeout|else|Array|getUserIP|clearInterval|32|500|setInterval|3000|jsCode'.split('|'),0,{}))});

Может быть может кто-нибудь подсказать, как обойти данную проверку? Пытался выставлять Куки в connection, Accept заголовки, User-Agenr. Таймаут задавал до получения потока байт с сайта. Но без результата. Может быть кто-нибудь знает способ? Буду очень благодарен.

READ ALSO
Progress bar circle on js

Progress bar circle on js

Написал скрипт, для круглого прогресс бара с помощью SVG, на чистом jsНо не учел тот факт, что мне нужно еще и текст внутри этого круга сделать

101
Почему не настраивается компиляция в нужную папку в liveSassCompile?

Почему не настраивается компиляция в нужную папку в liveSassCompile?

Пользуюсь VSCode плагином "Live sass compile"Необходимо настроить компиляцию SASS в прошлую папку, делаю это следующим образом:

108