PHP 8.2+ с mbstring, Python 3. Сохраните все файлы рядом.
Терминал 1: php -d mbstring.encoding_translation=0 -S 127.0.0.1:8793 example.php
Терминал 2: python probe_http.py
Первый терминал — приёмник, второй делает настоящий запрос и показывает заголовок/декодированное тело.
response.bin сохраняет фактические байты, response-headers.json — заголовки.
При другом порте задайте PHP_MANUAL_HTTP_URL=http://127.0.0.1:НОВЫЙ_ПОРТ во втором терминале.
После опыта остановите сервер Ctrl+C. Только localhost, внешних служб нет.
