2013-05-09 3 views
1

У меня есть HTTP POST указал на два разных места.

Первое местоположение обрабатывается решением третьей стороны, поэтому я не вижу, как они обрабатывают данные (они должны быть из-за того, что значения проходят, и я вижу результаты).

В мое местоположение, у меня есть сервер NGINX (который никогда не имел никаких проблем с большим использованием). Я использую PHP для чтения данных POST, и я ожидаю, что содержание будет в переменной $_POST как СТОЛБ $_SERVER["CONTENT_TYPE"] => "multipart/form-data"

Но, несмотря на тип и $_SERVER["CONTENT_LENGTH"] не правильно, я получаю ничего в мой $_POST, $_REQUEST, и при проверке file_get_contents('php://input') внутри ничего нет.

Корпус очень маленький json lump (< 1k). Всегда массив объектов.

Чтобы увидеть, что в массивах я использовал echo json_encode(array("GET" => $_GET, "POST" => $_POST, "REQUEST" => $_REQUEST, "SERVER" => $_SERVER))

Я бежал из идей того, что проверить прямо сейчас.

запись $_SERVER["PHP_SELF"] имеет странное искажение, возможно, из-за ограничителей пути?

+0

'php: // input' не доступен с' enctype = "multipart/form-data" '. любезность: [SOFPOST-2731297] (http://stackoverflow.com/questions/2731297/file-get-contentsphp-input-or-http-raw-post-data-which-one-is-better-to/2731431# 2731431). Btw, Как вы проверили значение внутри массива '$ _POST' или' $ _REQUEST' –

ответ

1

How to post JSON to PHP with curl привели меня к решению:

Не забудьте отправить его как application/json

После того, как я сделал, что данные пришли через в организме. Это помогает мне, но мне все еще интересно, почему сторонний приемник может обрабатывать данные так, как есть.

Смежные вопросы