Как я могу получить содержимое этого API с помощью PHP curl

я пытаюсь получить возрождение этого api

https://www.zoomeye.org/api/search?q=facebook

но проблема в том, что когда я пытаюсь получить его с помощью curl, он показывает мне этот заголовок респауна

HTTP/1.1 521 
Server: nginx
Date: Thu, 09 Aug 2018 11:45:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
X-Via-JSL: 79dfd01,-

с этим кодом javescript в теле

   <script>
     var x = "length@@https@@@@@while@@@0xEDB88320@eval@reverse@else@Array@setTimeout@hantom@@Aug@@18@@challenge@@RegExp@363@if@GMT@Thu@PiXG@firstChild@@1@href@g@@@document@new@@@8@charCodeAt@5k@join@1533815182@3D@as@return@@f@@addEventListener@div@@pathname@split@fromCharCode@46@captcha@O@function@location@Expires@match@rOm9XFMtA3QKV7nYsPGT4lifyWwkq5vcjH2IdxUoCbhERLaz81DNB6@DOMContentLoaded@@@attachEvent@@@0@var@3@4V7@chars@catch@@@d@@@0xFF@createElement@@String@try@@@@parseInt@for@__p@cookie@e@09@@window@charAt@substr@Path@toString@search@@12@toLowerCase@innerHTML@2@false@36@22@@JgSe0upZ@@onreadystatechange@@@@@@a@__jsl_clearance@@replace@1500@B@".replace(/@*$/, "").split("@"),
         y = "1t 2n=1h(){g('1i.y=1i.1b+1i.2e.2z(/[\\?|&]1f-n/,\\'\\')',2A);C.25='2x=11.q|1s|'+(1h(){1t 2p=[1h(2n){14 2n},1h(2p){14 2p},1h(2n){14 c('1G.1d('+2n+')')},1h(2n){23(1t 2p=1s;2p<2n.1;2p++){2n[2p]=22(2n[2p]).2d(2l)};14 2n.10('')}],2n=['1g',[(-~-~![]+[]+[])+[-~(+!{})]],'2j%',(-~-~![]+[]+[]),'2B',[(-~-~![]+[]+[])+((-~{}+[(-~-~![])*[-~-~![]]]>>-~{})+[])],[((-~{}+[(-~-~![])*[-~-~![]]]>>-~{})+[])+(~~!!29['24'+'h'+'13']+[])],[(-~-~![]+[]+[])+[(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))+(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))]],[-~(+!{})],'u',[[-~-~![]]/~~{}+[[]][1s]][1s].2a(~~{}),[(G+[[]][1s])+[(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))+(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))]],[(-~-~![]+[]+[])+(G+[[]][1s])],'I',[(-~[2j]+[]+[[]][1s])+[-~(+!{})]],'1v',[(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))+(-~[]+[((+!+{})<<(+!+{}))]>>((+!+{})<<(+!+{})))]+[-~[]+(-~-~![]^-~(+!{}))]+(~~!!29['24'+'h'+'13']+[]),[[-~(+!{})]+(-~-~![]+[]+[]),(-~-~![]+[]+[])+(G+[[]][1s])],'z%12'];23(1t 1a=1s;1a<2n.1;1a++){2n[1a]=2p[[x,1u,x,1s,x,1u,2j,1u,1s,x,1s,2j,1u,x,1u,x,1s,1u,x][1a]](2n[1a])};14 2n.10('')})()+';1j=t, 27-j-l 2g:1e:2m s;2c=/;'};r((1h(){1H{14 !!29.18;}1x(26){14 2k;}})()){C.18('1m',2n,2k)}e{C.1p('2q',2n)}",
         f = function(x, y) {
             var a = 0,
                 b = 0,
                 c = 0;
             x = x.split("");
             y = y || 99;
             while ((a = x.shift()) && (b = a.charCodeAt(0) - 77.5)) c = (Math.abs(b) < 13 ? (b + 48.5) : parseInt(a, 36)) + y * c;
             return c
         },
         z = f(y.match(/\w/g).sort(function(x, y) {
             return f(x) - f(y)
         }).pop());
     while (z++) try {
         eval(y.replace(/\b\w+\b/g, function(y) {
             return x[f(y, z) - 1] || ("_" + y)
         }));
         break
     } catch (_) {}
 </script>

Итак, что я заметил, этот код javascript устанавливает файл cookie с именем __jsl_clearance, так как я могу использовать этот api в своем приложении

любые идеи или решения

- обновить, это мой код завитка -

$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.zoomeye.org/api/search?q=facebook");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cook.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cook.txt');
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
    $headers = array();
    $headers[] = "Accept-Encoding: gzip, deflate, br";
    $headers[] = "Accept-Language: ar,en-US;q=0.9,en;q=0.8";
    $headers[] = "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
    $headers[] = "Accept: application/json, text/plain, */*";
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    echo $result = curl_exec($ch);
    curl_close ($ch);

Благодарность .....

Итак, какой у вас фактический код, который вы используете для этого?

hassan 09.08.2018 13:51

Я обновил сообщение с кодом curl ...

Mahmoud Khatib 09.08.2018 14:18

Я не знаю этого API, но думаю, вам следует отправить «__jsl_clearance» в своем запросе на завиток. Возможно, вы могли бы открыть страницу в браузере, посмотреть, какое значение получает файл cookie, и установить для файла cookie то же значение в своем запросе на завивание.

user1915746 09.08.2018 14:32

это то, что я пробовал, но страница продолжает обновляться, а значение cookie __jsl_clearance продолжает меняться с каждым обновлением

Mahmoud Khatib 09.08.2018 14:36

… Что может быть просто мерой для предотвращать людей от использования этого таким автоматизированным способом, как вы пытаетесь это сделать? Я предлагаю вам сначала попытаться связаться с владельцем этой службы и спросить их, что вам нужно сделать, чтобы таким образом получить доступ к их «API». Возможно предложат другие методы аутентификации.

CBroe 09.08.2018 14:44

ну, там происходит два запроса для одного и того же URL-адреса, первый запрос вернет прикрепленный вывод для генерации уникального идентификатора __jsl_clearance и отправит этот идентификатор второму запросу в виде файла cookie, чтобы получить, что вам нужно моделировать генератору для генерации идентификатор __jsl_clearance

hassan 09.08.2018 14:49

@hassan, я попытался сделать это с помощью двух функций, первая из них получит файлы cookie для меня, а другая будет запускаться с теми файлами cookie, которые я получил из первой,

Mahmoud Khatib 09.08.2018 15:18

но все еще та же проблема, код javascript добавляется в функцию secound и продолжает обновлять __jsl_clearance и обновлять страницу

Mahmoud Khatib 09.08.2018 15:21
zoomeye.org/api/doc не работает .... я думаю, для доступа вам нужна аутентификация ??
Hamelraj 09.08.2018 20:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
9
110
0

Другие вопросы по теме