{"id":16150248,"url":"https://github.com/zapalm/curl-helper","last_synced_at":"2026-02-14T04:07:57.767Z","repository":{"id":46337177,"uuid":"144563250","full_name":"zapalm/curl-helper","owner":"zapalm","description":"CURL helper - это полностью документированная на русском PHP-библиотека для отправки HTTP-запросов.","archived":false,"fork":false,"pushed_at":"2025-02-13T03:54:04.000Z","size":274,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T06:38:14.916Z","etag":null,"topics":["curl","hacktoberfest","helper","http-client","http-request","php","php-library","requests"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zapalm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":null,"code_of_conduct":null,"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,"zenodo":null},"funding":{"patreon":"zapalm"}},"created_at":"2018-08-13T10:16:19.000Z","updated_at":"2025-02-13T03:54:07.000Z","dependencies_parsed_at":"2023-11-24T07:24:28.776Z","dependency_job_id":"f23d0b81-ae7f-4236-8177-0d859d6b433f","html_url":"https://github.com/zapalm/curl-helper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zapalm/curl-helper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapalm%2Fcurl-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapalm%2Fcurl-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapalm%2Fcurl-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapalm%2Fcurl-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapalm","download_url":"https://codeload.github.com/zapalm/curl-helper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapalm%2Fcurl-helper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29435574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T03:34:37.767Z","status":"ssl_error","status_checked_at":"2026-02-14T03:34:09.092Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["curl","hacktoberfest","helper","http-client","http-request","php","php-library","requests"],"created_at":"2024-10-10T00:48:10.210Z","updated_at":"2026-02-14T04:07:57.753Z","avatar_url":"https://github.com/zapalm.png","language":"PHP","funding_links":["https://patreon.com/zapalm"],"categories":[],"sub_categories":[],"readme":"# CURL helper\n`CURL helper` - это полностью документированная на русском PHP-библиотека для отправки HTTP-запросов, которая обладает характеристиками:\n- Простая в применении.\n- Код легко переиспользовать и расширить.\n- Включает специальные настройки и функции.\n- Работает на старых и новых версиях PHP (начиная с PHP 5.5 и до последней актуальной PHP 8).\n- Протестирована временем и работает в реальных проектах с 2018 года. \n\n## Примеры\nКаждый метод полностью документирован в виде PHPDoc, поэтому вот несколько примеров для ознакомления с библиотекой.\n\n### Узнаём свой внешний и локальный IP (GET-запрос)\n```php\n$curlHelper = (new CurlHelper())\n    -\u003esetUrl('https://canhazip.com')\n;\n\n$myExternalIp = trim($curlHelper-\u003eexecute()); // Ответ от сервера в виде обычного текста: 188.114.99.224\n$myLocalIp    = $curlHelper-\u003egetLocalIp();    // Результат: 192.168.0.3\n```\n\n### Устанавливаем свой User-Agent и убеждаемся, что именно он отправляется (GET-запрос) \n```php\n$myUserAgentInJson = (new CurlHelper())\n    -\u003esetUrl('https://httpbin.org/user-agent')\n    -\u003esetUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36')\n    -\u003eexecute()\n; // Ответ от сервера в виде JSON-строки: {\"user-agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\"}\n```\n\n### Отправляем POST-запрос\n```php\n$postResultInJson = (new CurlHelper())\n   -\u003esetUrl('https://httpbin.org/post')\n   -\u003esetPost(true)\n   -\u003esetPostFields('MyNameIs=CurlHelper\u0026YourNameIs=HttpBin')\n   -\u003eexecute()\n; // Ответ от сервера в виде JSON-строки с данными об отправленном ему запросе (длинная строка, поэтому не приведена)\n```\n\n### Получаем скорость загрузки данных (GET-запрос)\n```php\n$curlHelper = (new CurlHelper())\n   -\u003esetUrl('https://httpbin.org/bytes/' . (100 * 1024)) // Запращиваем 100 килобайт случайных бинарных данных\n;\n\n$curlHelper-\u003eexecute();\n\n$downloadSpeed   = $curlHelper-\u003egetDownloadSpeed();   // Скорость загрузки мегабайт/сек.: 0.0459\n$downloadedBytes = $curlHelper-\u003egetDownloadedBytes(); // Загружено байт: 102400 (сколько запросили - столько получили)\n```\n\n### Пример проверки ошибки HTTP и DELETE-запроса\n```php\n$curlHelper = (new CurlHelper())\n   -\u003esetUrl('https://httpbin.org/status/302') // Запрашиваем у сервера, чтобы вернул ошибку HTTP 302\n   -\u003esetDelete()\n;\n\n$curlHelper-\u003eexecute();\n\nif (302 === $curlHelper-\u003egetHttpCode()) {\n   // Ожидаем этот вывод, т.е.: \"Ошибка с кодом HTTP 302\"\n   echo 'Ошибка с кодом HTTP ' . $curlHelper-\u003egetHttpCode() . PHP_EOL;\n} else {\n   echo 'Неожиданный ответ от сервера с кодом HTTP ' . $curlHelper-\u003egetHttpCode() . PHP_EOL;\n}\n```\n\n### Пример проверки ошибки CURL (любой тип запроса)\n```php\n$result = (new CurlHelper())\n   -\u003esetUrl('https://__^__') // Указываем некорректный URL\n   -\u003eexecute()\n;\n\nif (false === $result) {\n   // Ожидаем ошибку \"Could not resolve host: __^__\"\n   echo 'Ошибка CURL: ' . $curlHelper-\u003egetErrorMessage() . PHP_EOL;\n} else {\n   echo 'Ожидали ошибку CURL, но получили в результате: ' . var_export($result, true) . PHP_EOL;\n}\n```\n\n## Установка\nПроще всего добавить библиотеку в ваш проект через `Composer`. Пример описания подключения через редактирование файла `composer.json`:\n```json\n\"repositories\": [\n  {\n    \"type\": \"vcs\",\n    \"url\": \"https://github.com/zapalm/curl-helper\"\n  }\n],\n\"require\": {\n  \"php\": \"\u003e=5.5\",\n  \"zapalm/curl-helper\": \"dev-master\"\n},\n```\n\n## Как помочь проекту расти и обновляться\nПодарите **звезду** проекту. Вот и все! :)\n\n## Инструкция, если вы захотите поучаствовать в разработке кода\n- Форкнуть репозиторий.\n- Переключиться на ветку `dev`. Т.к. код в этой ветке может быть неактуальный, то предварительно проверьте через слияние ветки `master` в `dev`. \n- Внести изменения в код, который вы собираетесь отправить в основной репозиторий. Если вы создали новый метод, то добавьте\n  в PHPDoc тэг `author` в точности по примеру, как сделано в существующем коде (также этот тэг нужно добавить в конец списка\n  других таких же тэгов, если вы добавили примерно 30% или более нового кода в уже существующий метод). Следуйте гайдлайнам \n  PSR (следуйте стилю программирования, как сделано в существующем коде). \n- Сделайте пул-запрос в основной репозиторий.\n- Ожидайте ревью.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapalm%2Fcurl-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapalm%2Fcurl-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapalm%2Fcurl-helper/lists"}