Извлечение объекта JSON из HTTP-запроса

1

Люди, я думаю, я могу пропустить простую вещь, но я просто понятия не имею, где ее искать.

Поэтому я пытаюсь реализовать block.io API для принятия биткойнских платежей на веб-сайте, построенном на PHP. Теперь Документы говорят, что все события уведомления будут использовать объекты JSON, перенесенные на мой сервер через запросы POST. Поэтому я решил сделать тестовый платеж BTC и зарегистрировать все запросы по указанному URL-адресу моей БД. И вот что я генерал на демпинг getallheaders()

{
["Content-Type"]=>
string(16) "application/json"
["User-Agent"]=>
string(12) "Block.io/0.1"
["Accept"]=>
string(10) "text/plain"
["Authorization"]=>
string(10) "Basic Og=="
["Connection"]=>
string(5) "close"
["Host"]=>
string(17) "site.com"
["Content-Length"]=>
string(3) "462" }

Но сброс $_POST дает мне пустой массив. Сбрасывание $_SERVER и $_GET дает ничего полезного. Итак, мой вопрос: как я могу найти строку JSON, объявленную в Content-Type?

Любое предложение было бы полезно! Благодарю!

  • 0
    вы используете curl?
  • 0
    нет, я не думаю, что должен, потому что они отправляют мне уведомление о завершении транзакции BTC
Показать ещё 2 комментария
Теги:
post
request

1 ответ

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

Поскольку Content-Type является application/json (не application/x-www-form-urlencoded) $inputJSON = file_get_contents('php://input');

EDIT: отличное объяснение на PHP "php://input" vs $ _POST

  • 0
    Это сработало! Спасибо!
  • 0
    Но не могли бы вы объяснить простыми словами, почему я должен выполнять file_get_contents ('php: // input')? Потому что я уверен, что есть и другие нуб-кодеры вроде меня :)
Показать ещё 1 комментарий

Ещё вопросы

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