Создание HTTP-прокси и обнаружение mimeType с помощью finfo, это сломало весь код (php)Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Создание HTTP-прокси и обнаружение mimeType с помощью finfo, это сломало весь код (php)

Сообщение Anonymous »

Я пытаюсь создать HTTP-прокси в php, и у меня возникла ошибка при настройке заголовка Content-Type.
Этот код сломал весь мой код:

Код: Выделить всё

$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->buffer(fread($sc, 512));
header("Content-Type: {$mimeType}");
поэтому я начал отладку, я изменил код следующим образом:

Код: Выделить всё

$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->buffer(fread($sc, 512));
echo $mimeType;
Там написано image/jpg, и ссылка, к которой я пытаюсь получить доступ через прокси, тоже имеет формат jpg.
Итак, она обнаруживает правильно, но потом я снова -изменен на заголовок("Content-Type: {$mimeType}"), чтобы не повторять его, почему-то он перестал работать.
Пожалуйста, проверьте этот снимок экрана, Content-Type — image/jpg< /code> но изображение, возвращенное мне, ничего не значит (на самом деле оно появляется, когда изображение повреждено).
Полный код:

Код: Выделить всё

$context = stream_context_create([
"http" => [
"method" => "GET",
"header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36\r\n"
]
]);

$content = fopen($url, 'rb', false, $context);

if ($content) {
$finfo = new finfo(FILEINFO_MIME_TYPE);

// removing 2 lines below will make it work again
$mimeType = $finfo->buffer(fread($content, 512));
header("Content-Type: {$mimeType}");

fpassthru($content);
fclose($content);
} else {
http_response_code(500);
echo "Failed to retrieve the requested resource.";
}
Причина, по которой я не использовал get_headers ($ url, 1) , чтобы получить контент-тип Вместо этого веб-сайт не возвращает это правильно.

Подробнее здесь: https://stackoverflow.com/questions/792 ... re-code-ph
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Информация о файле Ошибка PHP: класс «finfo» не найден, но модуль находится в php.ini
    Anonymous » » в форуме Php
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Невозможно провести туннель через прокси. Прокси возвращает "http/1.1 407 Требуется разрешение прокси -сервера"
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Как применить `numpy.finfo` к типам Polars?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Обновление Spring-boot-starter-parent до 3.2.12 сломало код Spring
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Обновление Spring-boot-starter-parent до 3.2.12 сломало код Spring
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»