Веб-сервис не может проанализировать запрос JSON из файла PHP

1

Я пытаюсь получить доступ к веб-сервису. Я уже использую этот веб-сервис из приложения Android, но теперь мне нужно получить доступ к некоторым функциям из документа php. Если я использую хром, клиентское приложение для клиентского клиента для тестирования отлично работает, если я выбираю параметр POST и application/x-www-form-urlencode как тип контента. Но когда я пытаюсь получить доступ к веб-сервису из своего PHP файла, я получаю ответ от сервера, что он не может найти значение "тег". Это код:

$data = array( 'tag' => 'something');

$options = array('http' => array(
'method' => 'POST',
'content' => $data,
'header' => "Content-Type: application/x-www-form-urlencode")
);

$context = stream_context_create($options);
$url = 'myurl';
$result = file_get_contents($url,false,$context);
$response = json_decode($result);

Что не так с этим кодом?

Спасибо за любую помощь!

Теги:
rest
post

1 ответ

1
Лучший ответ

Попробуй это:

$data = http_build_query( array( 'tag' => 'something') );

Как определено здесь, значение "Содержимое" должно быть строкой: http_build_query генерирует требуемую строку запроса URL-кодировки.

  • 0
    Спасибо за информацию. Я попытался с http_build_query но мой вызов $_POST['tag'] в моем коде на стороне сервера пуст :(
  • 0
    Ах, я обнаружил ошибку: в определении заголовка была опечатка: T of Type должен быть маленьким, и он должен быть urlencoded, а не urlencode. Это в дополнение к http_build_query работает! Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню