HTTP 요청에서 화면으로 모든 정보를 인쇄하는 방법(PHP)
나는 머리글과 POST 요청에 포함된 모든 정보의 내용을 포함하여 HTTP 요청의 모든 정보를 덤프할 수 있는 PHP 코드가 필요합니다.기본적으로 내가 서버에 보내는 것을 정확히 말해주는 진단 도구입니다.
이걸 할 수 있는 코드를 가지고 있는 사람?
$_GET, $_POST, $_COOK을 받으려면IE:
print_r($_REQUEST);
머리글을 원하는 경우:
print_r(apache_request_headers());
echo file_get_contents( 'php://input' );
그리고 웹 서버가 Apache라고 가정하면 이렇게 요청 헤더를 읽을 수 있습니다.
$requestHeaders = apache_request_headers();
간단한 방법은 다음과 같습니다.
<?php
print_r($_SERVER);
print_r($_POST);
print_r($_GET);
print_r($_FILES);
?>
원하는 순서대로 모든 것을 얻고, 관심이 없는 변수를 제외하기 위해 약간의 마사지가 필요하겠지만, 당신에게 시작을 주어야 합니다.
어떤 상황에서도 HTTP 헤더를 정확하게 덤프하는 방법에 대해서는 아무도 언급하지 않았습니다.
CGI 규격 rfc3875, 섹션 4.1.18:
"HTTP_"로 시작하는 이름을 가진 메타변수는 사용되는 프로토콜이 HTTP인 경우 클라이언트 요청 헤더 필드에서 읽은 값을 포함합니다.HTTP 헤더 필드 이름은 대문자로 변환되며, 모든 "-"는 ""로 대체되며, "HTTP"는 메타 변수 이름 앞에 붙입니다.
foreach ($_SERVER as $key => $value) {
if (strpos($key, 'HTTP_') === 0) {
$chunks = explode('_', $key);
$header = '';
for ($i = 1; $y = sizeof($chunks) - 1, $i < $y; $i++) {
$header .= ucfirst(strtolower($chunks[$i])).'-';
}
$header .= ucfirst(strtolower($chunks[$i])).': '.$value;
echo $header.'<br>';
}
}
상세정보 : http://cmyker.blogspot.com/2012/10/how-to-dump-http-headers-with-php.html
피터 베일리와 크마이커의 답변을 종합하면 다음과 같은 것을 얻을 수 있습니다.
<?php
foreach ($_SERVER as $key => $value) {
if (strpos($key, 'HTTP_') === 0) {
$chunks = explode('_', $key);
$header = '';
for ($i = 1; $y = sizeof($chunks) - 1, $i < $y; $i++) {
$header .= ucfirst(strtolower($chunks[$i])).'-';
}
$header .= ucfirst(strtolower($chunks[$i])).': '.$value;
echo $header."\n";
}
}
$body = file_get_contents('php://input');
if ($body != '') {
print("\n$body\n\n");
}
?>
다음과 같이 작동하는.php -S
PHP의 상당히 편리한 기능인 내장 웹 서버.
실제 HTTP 헤더(요청 및 응답 모두)를 원한다면 hurl.it 를 사용해 보십시오.
PHP 명령을 사용하여 요청 헤더를 가져올 수 있으며 현재 응답 헤더를 가져올 수 있습니다.콘텐츠가 제공되지 않은 한 PHP 스크립트의 나중에 응답을 변경할 수 있습니다.
file_get_contents('php://input')
항상 작동하지는 않을 것입니다.
머리글 안에 요청이 있습니다.content-length=735
그리고.php://input
빈 문자열입니다.HTTP 요청이 얼마나 양호한지/유효한지에 따라 달라집니다.
또한 아파치에 의존하지 않는 get_facebook을 사용할 수 있습니다.
print_r(get_headers());
언급URL : https://stackoverflow.com/questions/3136253/how-to-print-all-information-from-an-http-request-to-the-screen-in-php
'programing' 카테고리의 다른 글
phpMyAdmin을 5.1에서 5.2로 업그레이드한 후 서버에 연결할 수 없습니다. (0) | 2023.09.12 |
---|---|
카트에 여러 상품을 수량과 함께 카트에 추가하는 Custom add to cart 버튼 : woocmerce (0) | 2023.09.12 |
MariaDB my.cnf 설정 중간->교통량이 많음 (0) | 2023.09.12 |
C의 메모리 누출 감지기? (0) | 2023.09.12 |
기존 컨다 가상 환경의 파이썬 버전을 변경하는 방법은? (0) | 2023.09.12 |