{"id":22202874,"url":"https://github.com/localzet/httpclient","last_synced_at":"2025-07-27T05:31:49.836Z","repository":{"id":50460525,"uuid":"518801846","full_name":"localzet/HttpClient","owner":"localzet","description":"Localzet HTTP Client is a library for making HTTP requests. It is developed by Ivan Zorin and uses modern technologies and standards for efficient and reliable HTTP communication.","archived":false,"fork":false,"pushed_at":"2024-10-26T12:33:13.000Z","size":115,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T07:06:10.825Z","etag":null,"topics":["library","localzet-server"],"latest_commit_sha":null,"homepage":"https://localzet.github.io/HttpClient/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/localzet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["localzet"]}},"created_at":"2022-07-28T10:31:52.000Z","updated_at":"2024-10-26T12:32:43.000Z","dependencies_parsed_at":"2024-10-26T14:44:03.095Z","dependency_job_id":"39b66a56-2e96-4ffc-ad4a-2f407f1cb6b9","html_url":"https://github.com/localzet/HttpClient","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/localzet/HttpClient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FHttpClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FHttpClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FHttpClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FHttpClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localzet","download_url":"https://codeload.github.com/localzet/HttpClient/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FHttpClient/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265934453,"owners_count":23852096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","localzet-server"],"created_at":"2024-12-02T16:38:34.277Z","updated_at":"2025-07-27T05:31:49.594Z","avatar_url":"https://github.com/localzet.png","language":"PHP","funding_links":["https://github.com/sponsors/localzet"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://www.localzet.com\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://static.zorin.space/media/logos/ZorinProjectsSP.svg\" width=\"400\"\u003e\n\u003c/a\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/http\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/dt/localzet/http?label=%D0%A1%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F\" alt=\"Скачивания\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://github.com/localzet/HttpClient\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/commit-activity/t/localzet/HttpClient?label=%D0%9A%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D1%8B\" alt=\"Коммиты\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/http\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/v/localzet/http?label=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D1%8F\" alt=\"Версия\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/http\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/dependency-v/localzet/http/php?label=PHP\" alt=\"Версия PHP\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://github.com/localzet/HttpClient\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/localzet/HttpClient?label=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F\" alt=\"Лицензия\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n# Установка\n`composer require localzet/http`\n\n# Примеры\n**example.php**\n```php\n\u003c?php\n\nuse localzet\\HTTP\\AsyncClient;\n\nrequire __DIR__ . '/vendor/autoload.php';\n\n$http = new AsyncClient();\n\n/**\n * $http-\u003eget() принимает 3 аргумента:\n * 1. URL (параметры указываются в самом URL)\n * 2. Callback при удачном запросе\n * 3. Callback при ошибке\n */\n$http-\u003eget(\n    'https://example.com/',\n    function ($response) {\n        var_dump($response-\u003egetStatusCode());\n        echo $response-\u003egetBody();\n    },\n    function ($exception) {\n        echo $exception;\n    }\n);\n\n/**\n * $http-\u003epost() принимает 4 аргумента:\n * 1. URL\n * 2. Параметры\n * 3. Callback при удачном запросе\n * 4. Callback при ошибке\n */\n$http-\u003epost(\n    'https://example.com/',\n    ['key1' =\u003e 'value1', 'key2' =\u003e 'value2'],\n    function ($response) {\n        var_dump($response-\u003egetStatusCode());\n        echo $response-\u003egetBody();\n    },\n    function ($exception) {\n        echo $exception;\n    }\n);\n\n\n/**\n * $http-\u003erequest() принимает 2 аргумента:\n * 1. URL\n * 2. Опции [\n *      method,     Метод\n *      version,    Версия HTTP\n *      headers,    Массив заголовков\n *      data,       Параметры (вне зависимости от метода, работает http_build_query())\n *      success,    Callback при удачном запросе\n *      error       Callback при ошибке\n *  ]\n */\n$http-\u003erequest(\n    'https://example.com/',\n    [\n        'method' =\u003e 'POST',\n        'version' =\u003e '1.1',\n        'headers' =\u003e ['Connection' =\u003e 'keep-alive'],\n        'data' =\u003e ['key1' =\u003e 'value1', 'key2' =\u003e 'value2'],\n        'success' =\u003e function ($response) {\n            echo $response-\u003egetBody();\n        },\n        'error' =\u003e function ($exception) {\n            echo $exception;\n        }\n    ]\n);\n```\n\n# Калибровка клиента\n\n```php\n\u003c?php\n\nuse localzet\\HTTP\\Client;\n\nrequire __DIR__ . '/vendor/autoload.php';\n\n$options = [\n    'max_conn_per_addr' =\u003e 128,     // Максимум одновременных запросов к одному URL\n    'keepalive_timeout' =\u003e 15,      // Время жизни соединения\n    'connect_timeout' =\u003e 30,        // Ожидание между соединениями\n    'timeout' =\u003e 30,                // Ожидание между запросами\n];\n\n$http = new Client($options);\n\n/**\n * $http-\u003eget() принимает 3 аргумента:\n * 1. URL (параметры указываются в самом URL)\n * 2. Callback при удачном запросе\n * 3. Callback при ошибке\n */\n$http-\u003eget(\n    'https://example.com/',\n    function ($response) {\n        var_dump($response-\u003egetStatusCode());\n        echo $response-\u003egetBody();\n    },\n    function ($exception) {\n        echo $exception;\n    }\n);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Fhttpclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalzet%2Fhttpclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Fhttpclient/lists"}