Я пытаюсь получить данные json с другого сервера, которому нужны 3 параметра, чтобы я мог получить к нему доступ. Я видел этот код в Интернете, но он не работает. Я много искал и не нашел решения. Когда я запускаю этот код, я получаю:
use pass and code are missing
(это ответ сервера, который я запрашиваю), надеюсь, я прояснил ситуацию, если есть что-то, чего я не объяснил, пожалуйста, скажите.
$url = 'http://xxxx/.js';
$data =http_build_query(array('user' => 'xx',
'pass' =>'xxx ',
'code' =>'xxx')
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => $data
)
);
$context= stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { }
echo $result ;
@eustatos хороший ответ для x-www-form-urlencoded, но не JSON
Я отредактировал ваш вопрос, чтобы добавить ........, '' '' '' '' 'и заглавные буквы. Я рекомендую использовать их в следующий раз, это облегчит чтение вашего вопроса.






Попробуйте изменить полезную нагрузку на json ...
$data = json_encode( array(
'user' => 'xxx',
'pass' => 'xxx',
'code' => 'xxx'
) );
и удалить \r\n из вашего типа контента
"Content-type: application/json"
Если это не сработает, вам может потребоваться CURL .... stackoverflow.com/questions/16920291/…
Попробуйте также удалить \r\n из своего типа контента.