вы отправляете запрос токена в формате JSON, а затем врете серверу, что он application/x-www-form-urlencoded
закодирован, а фактически application/json
закодирован! поскольку эти 2 формата полностью несовместимы, сервер не может их проанализировать, и ... в идеале он должен был ответить HTTP 400 bad request
(поскольку ваш запрос не может быть проанализирован как x-www-form-urlencoded)
во всяком случае, чтобы на самом деле отправить его в формате application/x-www-form-urlencoded
, замените json_encode () на http_build_query ()
и избавьтесь от заголовка "Content-Length:"
, его легко испортить (он также подвержен ошибкам)) если вы делаете это вручную (и действительно, вы все испортили! между :
и числом должен быть пробел, вы не добавляли пробел, но обычная ошибка - неправильная длина), но если вы не сделаете это вручную, то curl автоматически создаст для вас заголовок, который не подвержен ошибкам.