Как восстановить body и header в transção POST в PHP?


Для извлечения содержимого body транзакции, которые мы получаем через POST используем эту функцию file_get_contents('php://input'). Однако есть несколько компаний, которые могут отправить запрос, сообщение на наши услуги, и мне нужно знать, кто есть кто, то, конечно, должен проверить header.

, Какие функции должен использовать, чтобы получить body и header в то же время?

 2
Author: novic, 2017-05-04

1 answers

" Не существует функции, которая в то же время сделать два должны использовать функцию getallheaders() (это прозвище apache_request_headers()) и file_get_contents('php://input') и спасти header и body соответственно:

Код:

<?php

    foreach (getallheaders() as $header => $value) {
        echo "$header: $value <br />\n";
    }

Выход:

Content-Type: 
Content-Length: 0 
Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
            AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36 
Host: localhost 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 
Accept-Encoding: gzip, deflate, sdch, br 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
Connection: keep-alive 
Cache-Control: max-age=0 

Или функции getallheaders() возвращает array следующим образом:

array(10) {
  ["Content-Type"]=>
  string(0) ""
  ["Content-Length"]=>
  string(1) "0"
  ["Upgrade-Insecure-Requests"]=>
  string(1) "1"
  ["User-Agent"]=>
  string(114) "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
              AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36"
  ["Host"]=>
  string(9) "localhost"
  ["Accept-Language"]=>
  string(35) "pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4"
  ["Accept-Encoding"]=>
  string(23) "gzip, deflate, sdch, br"
  ["Accept"]=>
  string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
  ["Connection"]=>
  string(10) "keep-alive"
  ["Cache-Control"]=>
  string(9) "max-age=0"
}

Фильмография:

 1
Author: novic, 2017-05-04 20:12:38