1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yurunsoft-YurunHttp

06.03.2025 09:20
GitLife Service Account
  • Минимально поддерживаемая версия PHP повышена до 5.5

  • Добавлена поддержка параллельных запросов с использованием cURL handler

  • В классе HttpRequest добавлен метод и свойство method для установки по умолчанию метода запроса

Последнее сообщение коммита: 最低支持 PHP 版本提升为 5.5
06.03.2025 09:19
GitLife Service Account

Добавлена поддержка автоматического добавления расширения имени файла при скачивании.

use Yurun\Util\HttpRequest;

$url = 'http://www.baidu.com';
$http = new HttpRequest();
$http->download(__DIR__ . '/save.*', $url); // Если имя файла задано как save.*, то .* будет означать автоматическое определение расширения
Последнее сообщение коммита: 新增支持自动为下载文件增加扩展名
06.03.2025 09:19
GitLife Service Account
  • Устранение проблемы путаницы между именами параметров и именами файлов при загрузке файла
Последнее сообщение коммита: 修复文件上传问题
06.03.2025 09:19
GitLife Service Account

Журнал обновлений

  • Добавлена поддержка WebSocket Client

WebSocket Client предназначен только для использования в окружении Swoole корутин.

YurunHttp::setDefaultHandler(\Yurun\Util\YurunHttp\Handler\Swoole::class);
go(function(){
    $url = 'ws://127.0.0.1:1234/';
    $http = new HttpRequest;
    $client = $http->websocket($url);
    if (!$client->isConnected()) {
        throw new \RuntimeException('Подключение не установлено');
    }
    $client->send('data');
    $recv = $client->recv();
    var_dump('получено:', $recv);
    $client->close();
});
Последнее сообщение коммита: 更新 README.md
06.03.2025 09:19
GitLife Service Account

Добавлено

  • Добавлены тестовые случаи для загрузки файлов

Исправлено

  • Исправлена проблема с повторением некоторых заголовков в обработчике Swoole

Улучшено

  • При использовании нового соединения в обработчике Swoole закрывается старое соединение

  • По умолчанию обработчик Swoole поддерживает долгоживущие соединения

  • Время ожидания по умолчанию установлено в 30 секунд

Последнее сообщение коммита: 修复测试
06.03.2025 09:19
GitLife Service Account
  • Исправление проблемы с загрузкой файлов в процессор Swoole

  • Исправление недействия указанного типа медиа при загрузке файла

  • Добавлены тестовые примеры для загрузки файлов

  • Улучшена совместимость с низкими версиями PHP

Последнее сообщение коммита: 补充测试用例文件
06.03.2025 09:19
GitLife Service Account

контексте "Swoole" — это расширение для PHP, которое позволяет создавать высокопроизводительные асинхронные серверы. Если вы столкнулись с какими-либо проблемами при использовании PHP 7.3 вместе с Swoole 4.3.5, рекомендуется проверить следующие моменты: 1. Убедитесь, что версия Swoole совместима с вашей версией PHP. 2. Проверьте конфигурацию вашего проекта, чтобы убедиться, что все необходимые зависимости установлены правильно. 3. Обратите внимание на сообщения об ошибках, которые могут помочь вам понять, какие именно проблемы возникают. Для получения более конкретной помощи, пожалуйста, предоставьте больше информации о том, какие именно ошибки вы видите или какие проблемы вы испытываете.

  • Устранение проблем при использовании PHP 7.3 с Swoole 4.3.5

(Примечание: Исходный текст был на китайском, поэтому язык исходного текста — китайский.)

Последнее сообщение коммита: 修复问题
06.03.2025 09:19
GitLife Service Account
  • Устранение проблемы с методом withAddedHeader()
  • Устранение проблем с методами запросов в Curl Handler
  • Устранение проблем с обработкой переадресации в Curl Handler
Последнее сообщение коммита: 更新测试
06.03.2025 09:19
GitLife Service Account
  • Добавлен метод HttpRequest->getHandler()
  • Поддержка свойства httpOnly в классе CookieItem
Последнее сообщение коммита: 注释完善
06.03.2025 09:19
GitLife Service Account

Добавлено:

  • Добавлена CookieManager для управления сессиями в одном экземпляре HttpRequest. Теперь автоматически управляются cookies для одного экземпляра HttpRequest.

  • Добавлены тестовые примеры (PHP 5.4 — PHP 7.3) и демонстрационные коды.

Оптимизировано:

  • Изменение метода запроса на GET теперь происходит только при получении статус-кодов 301, 302 или 303.

  • Оптимизация класса StatusCode.

  • При условии, что адрес для переадресации в Swoole имеет одинаковый хост, порт и схему с предыдущим адресом, используется повторно созданный клиент ($client).

  • При повторной отправке запроса одним и тем же объектом HttpRequest, curl-ресурс больше не инициализируется заново.

  • Метод Uri->getPort() больше не возвращает по умолчанию порт протокола. Введён новый метод Uri::getServerPort() для получения порта, поддерживающего значение по умолчанию.

  • Метод Uri::getDomain() преобразован в статический метод.

  • Улучшены методы close() и destruct().

  • По умолчанию для CURLOPT_COOKIEJAR установлено значение php://memory, чтобы cookie не записывались в файл.

Исправлено:

  • Исправлена проблема отсутствия указания номера порта в хосте обработчика Swoole.
Последнее сообщение коммита: 修复测试脚本兼容性
06.03.2025 09:18
GitLife Service Account

Исправление проблемы с незаданным обработчиком Swoole

  • Исправлена проблема с отсутствием задания обработчика Swoole
Последнее сообщение коммита: 修复Swoole Handler未set问题
06.03.2025 09:18
GitLife Service Account
  • Исправлено отсутствие эффекта при установке тайм-аута

  • Исправлена проблема некорректной переадресации при использовании пустого доменного имени в режиме Swoole

  • Удалено ручное вызов gethostbyname()

Последнее сообщение коммита: 修复设置timeout无效问题
06.03.2025 09:18
GitLife Service Account
  • Оптимизация обработки ошибок при получении данных в Swoole

  • Улучшение правописания текстовых сообщений об ошибках

  • Замена табуляции на выравнивание с помощью четырёх пробелов

Последнее сообщение коммита: 更新README.md
06.03.2025 09:18
GitLife Service Account
  • Устранение проблем с AbstractMessage

  • Оптимизация ситуации с отсутствием констант при отсутствии установленной библиотеки curl в окружении с использованием Swoole

Последнее сообщение коммита: 修复 AbstractMessage 问题
06.03.2025 09:18
GitLife Service Account

Решение проблем совместимости версий с psr/http-message

Последнее сообщение коммита: 解决 psr/http-message 版本兼容性问题
06.03.2025 09:18
GitLife Service Account

Новые возможности

  • Добавлена поддержка Swoole корутин HTTP клиента (поддержка cURL остаётся)
  • Добавлена поддержка стандарта PSR-7 и совместимость с использованием YurunHttp 2

Несоответствия с версией Yöntem 2.0

  1. Удалены классы для продолженного после прерывания скачивания, так как это мало востребовано.

  2. При отправке файлов больше не используется класс HttpRequestMultipartBody.

  3. Статические свойства класса HttpRequest, такие как $customLocation и $tempDir, были удалены. Вместо этого следует использовать метод YurunHttp::setAttribute('customLocation', true);.

  4. Класс HttpResponse был удалён. Теперь объект ответа Response является экземпляром класса Yurun\Util\YurunHttp\Http\Response. Этот класс совместим со стандартом PSR-7 и старыми методами, но теперь недоступны операции над публичными свойствами.

Общие изменения заключаются в том, что хотя внутренняя реализация библиотеки значительно изменилась и появились новые способы использования, старый способ всё ещё поддерживается.

Использование cURL по-прежнему поддерживает PHP >= 5.4, однако если вы используете Swoole корутин HTTP клиент, рекомендуется использовать PHP 7.1 + Swoole 4.0.

Последнее сообщение коммита: 更新说明
Предпросмотр версии
06.03.2025 09:18
GitLife Service Account

Новые возможности

  • Добавлена поддержка Swoole корутин HTTP клиента (поддержка cURL остаётся)
  • Добавлена поддержка стандарта PSR-7 и совместимость с использованием YurunHttp 2

Несоответствия с версией Yöntem 2.0

  1. Удалены классы для продолженного после прерывания скачивания, так как это мало востребовано.

  2. При отправке файлов больше не используется класс HttpRequestMultipartBody.

  3. Статические свойства класса HttpRequest, такие как $customLocation и $tempDir, были удалены. Вместо этого следует использовать метод YurunHttp::setAttribute('customLocation', true);.

  4. Класс HttpResponse был удалён. Теперь объект ответа Response является экземпляром класса Yurun\Util\YurunHttp\Http\Response. Этот класс совместим со стандартом PSR-7 и старыми методами, но теперь недоступны операции над публичными свойствами.

Общие изменения заключаются в том, что хотя внутренняя реализация библиотеки значительно изменилась и появились новые способы использования, старый способ всё ещё поддерживается.

Использование cURL по-прежнему поддерживает PHP >= 5.4, однако если вы используете Swoole корутин HTTP клиент, рекомендуется использовать PHP 7.1 + Swoole 4.0.

Последнее сообщение коммита: 更新README.md
06.03.2025 09:18
GitLife Service Account
  • Обновление библиотеки до новой версии
  • Удаление ненужных файлов после выполнения Composer
Последнее сообщение коммита: 升级类库使用版本
06.03.2025 09:18
GitLife Service Account

Этот выпуск имеет те же функции, что и версия v1.3.17, с единственным отличием — исправлением неправильно указанного пространства имен.

Пространство имен версий 1.x выглядит следующим образом: Yurun\Until\xxx.

Пространство имен версий 2.x выглядит следующим образом: Yurun\Util\xxx.

С этого момента версии v1.x будут содержать только исправление ошибок и другие работы по поддержанию, а все новые функции будут добавлены в версии v2.x.

Последнее сообщение коммита: 更新说明
06.03.2025 09:17
GitLife Service Account

Добавлена поддержка прямого ввода содержимого файла при загрузке, без необходимости его наличия на сервере.

Последнее сообщение коммита: 更新Demo和说明
1
https://api.gitlife.ru/oschina-mirror/yurunsoft-YurunHttp.git
git@api.gitlife.ru:oschina-mirror/yurunsoft-YurunHttp.git
oschina-mirror
yurunsoft-YurunHttp
yurunsoft-YurunHttp