Всем привет!Возникла проблема. Отправляю http post запрос на удаленный сайт. Мой сайт отображает следующие: Код (Text): string(929) "<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> <h4>A PHP Error was encountered</h4> <p>Severity: Notice</p> <p>Message: Undefined index: HTTP_REFERER</p> <p>Filename: front/der.php</p> <p>Line Number: 40</p> </div>{"body":"<div class=\"alert alert-info\" style=\"display:block\">\u0421\u0442\: <b>\u041e\u0431\<\/b><br \/>\u041f\: <b>\u0420\u041e<\/b><br>\u0431\u043c = <span class=\"datavalue\">12<\/span><\/h1>\u041a\u043b: <b>6<\/b><br \/><\/div>","data":12,"bd_id":"5645919117","finded":false,"finded_txt":"","want_data":true}" <hr/><hr/> Как мне получить переменную "data":12,(то есть 12 ) , без всего остального????? И использую код: PHP: <?php header('Content-type:application/json;charset=utf-8'); $fio1="Дубровский Александр Серафимович"; $dr1="09.04.1961"; $postdata = http_build_query( array( 'name' => $fio1, 'dr' => $dr1 ) ); //отправляем сложный запрос с параметрами $url = 'https://sait.ru/check'; $context = stream_context_create([ 'http' => [ 'method' => 'POST', //'header' => 'Content-type:application/json;charset=utf-8', 'header' =>'Content-Encoding: gzip', 'content' => $postdata ] ]); $result = file_get_contents($url, false, $context); function escape_win ($path) { $path = strtoupper ($path); return strtr($path, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в", "\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и", "\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п", "\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц", "\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э", "\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д", "\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К", "\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С", "\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш", "\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я", "<\/B>"=>"</b>")); } var_dump($result); // вывод результата ТАК СЕЙЧАС $obj=json_decode($result,true); $data= $obj->{'data'}; //$body= $obj->body; echo "<hr/>$data<hr/>";// ТАК ВЫВОДИТСЯ ТОЛЬКО <hr/><hr/> //$print= escape_win($result); //$print=str_replace(" ","",$print); ?> ЧТО ДЕЛАТЬ ПОДСКАЖИТЕ???
у тебя ошибка, которая вываливается в output и какие-то <hr> там после. разберись с этим, потом будет парситься json
Я понимаю, что лишний кусок ответа: Код (Text): string(929) "<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> <h4>A PHP Error was encountered</h4> <p>Severity: Notice</p> <p>Message: Undefined index: HTTP_REFERER</p> <p>Filename: front/der.php</p> <p>Line Number: 40</p> </div> К сайту, на который я отправляю запрос,я ни имею ни какого отношения и доступа,но в самом JSON мне ответил верные значения "data":12, (то есть 12 )- это мне число и надо вытащить, засунуть в переменную и сохранить в БД. Как избавится от этого лишнего куска ответа и получить нужные мне значения?
Ха! Оказалось все совсем просто!Спасибо за подсказку!!! Использовал: PHP: $rest = substr("$result",516); $obj=json_decode($rest); $data= $obj->{'data'}; echo $data;
Дело в том что эта ошибка это мера безопасности сайта на который я отправляю запрос.Ошибка показывает, что HTTP_REFERER не верный или не найден
на защиту это ващпе не похоже так покажи ему верный на каком сайте эти запросы работают? --- Добавлено --- задай ему любой --- Добавлено --- PHP: $context = stream_context_create([ 'http' => [ 'method' => 'POST', //'header' => 'Content-type:application/json;charset=utf-8', 'header' =>"Content-Encoding: gzip\r\n" . "Referer: yandex.ru\r\n" 'content' => $postdata ] ]);
Адрес сказать не могу т.к это сервис по определению КБМ. Я на него передаю все значения из value,которые есть в форме и в java.js Отправить значение HTTP_REFERER я уже пробовал, без изменений.