Проблема с чтением тела HTTP-запроса из JSON POST в PHP

Я пишу сценарий, который зарегистрирован как конечная точка для веб-перехватчика. Я знаю, что он успешно зарегистрирован, потому что я пишу заголовок каждого запроса в журналы своего сервера. Вот пример:

Content-Type: text/xml; charset=UTF-8
User-Agent: Jakarta Commons-HttpClient/3.1
Host: =={obfuscated}== 
Content-Length: 1918

API, с помощью которого я зарегистрировался, отправляет объект JSON в мой сценарий POST, и я хотел бы проанализировать этот объект с помощью PHP. Как видно из заголовка запроса, есть хороший большой, толстый объект JSON, ожидающий анализа. Это кажется простым, но это не так.

Сначала я пробовал использовать $ _ POST ['json'] или просто $ _ POST , но, поскольку данные не в массиве, я не совсем знал, как получить к нему доступ вот так.

Я пробовал использовать file_get_contents ('php: // input') и fopen ('php: // input', 'r') с и без json_decode () , но не повезло. Я не могу использовать http_get_request_body () , так как сервер, на котором я работаю, не имеет PECL, и это вне моего контроля.

Есть ли другие способы взаимодействия с объектом JSON, опубликованным при POST что мне не хватает? Спасибо!

49
задан Hartley Brody 12 August 2011 в 14:07
поделиться