Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | curl [2023/06/09 16:51] (текущий) – [Краткий справочник часто используемых команд curl для протоколов HTTP/HTTPS] darkfire | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Примеры использования cURL ====== | ||
+ | ~~Title: cURL тестирование HTTP заголовков, | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=() | ||
+ | }} | ||
+ | |||
+ | cURL (расшифровывается как Client URL) это инструмент, | ||
+ | |||
+ | Утилита cURL установлена по умолчанию во всех современных операционных системах Windows, Mac и Linux. | ||
+ | |||
+ | * [[https:// | ||
+ | * [[socks# | ||
+ | |||
+ | ===== Тестирование HTTP / HTTPS при помощи cURL или rest-client ===== | ||
+ | cURL позволяет легко выполнять любые [[http|HTTP методы]] для нужного ресурса. Можно передавать любые параметры запросов и заголовков, | ||
+ | |||
+ | Пример использования и базовые опции: | ||
+ | |||
+ | <file bash> | ||
+ | # curl -X PUT www.example.com/ | ||
+ | </ | ||
+ | |||
+ | * -X [METHOD] определяет HTTP метод. | ||
+ | * -d «name=value» устанавливает имя и значения переменных в POST/PUT. | ||
+ | * -H [HEADER] устанавливает заголовок. | ||
+ | * **-I, --head** отображать только заголовки ответа. | ||
+ | * **-k, --insecure** Разрешить подключения к сайтам SSL без сертификатов. По умолчанию curl верифицирует все сертификаты | ||
+ | * **-L, --location** Следовать за перенаправлениями (редиректами) | ||
+ | * **--max-time (или -m)** — это максимальное время в секундах, | ||
+ | curl --max-time 4 https:// | ||
+ | </ | ||
+ | ==== Краткий справочник часто используемых команд curl для протоколов HTTP/HTTPS ==== | ||
+ | * **Какие заголовки отдает сервер? | ||
+ | <file bash> | ||
+ | # curl -I dieg.info | ||
+ | HTTP/1.1 301 Moved Permanently | ||
+ | Date: Sat, 23 Apr 2022 07:04:04 GMT | ||
+ | Server: Apache | ||
+ | Location: https:// | ||
+ | Cache-Control: | ||
+ | Expires: Sat, 23 Apr 2022 07:14:04 GMT | ||
+ | Content-Type: | ||
+ | </ | ||
+ | * **Рекурсивное отслеживание редиректов**. | ||
+ | <file bash> | ||
+ | curl -I -L dieg.info | ||
+ | </ | ||
+ | * **Замер скорости ответа сайта.** Измерение продолжительности соединения [[https:// | ||
+ | <file bash> | ||
+ | curl -w " | ||
+ | 4.561 | ||
+ | </ | ||
+ | * Проверить работу gzip сайта при помощи curl, если включено должны увидеть заголовок content-encoding: | ||
+ | <file bash> | ||
+ | curl -H " | ||
+ | ... | ||
+ | content-encoding: | ||
+ | </ | ||
+ | * Если у вас несколько ip на сервере и вы хотите сделать запрос с конкретного вашего ip - используйте ключ interface: | ||
+ | <file bash> | ||
+ | curl --interface 193.233.203.51 ipinfo.io/ | ||
+ | </ | ||
+ | ==== Использование cURL с IPv6 ==== | ||
+ | Ключ -6 означает использовать только [[IPv6|IPv6]], | ||
+ | |||
+ | Запрос к локалхост: | ||
+ | <file bash> | ||
+ | curl -6 " | ||
+ | </ | ||
+ | Рекурсивный запрос http заголовков к сайту. Ключ v позволяет в расширенном режиме убедиться, | ||
+ | <file bash> | ||
+ | curl -v -6 --max-time 7 -IL https:// | ||
+ | |||
+ | * Trying 2001: | ||
+ | * Connected to wow2.top (2001: | ||
+ | </ | ||
+ | ===== Авторизация POST на PHP с использованием curl ===== | ||
+ | Пример авторизация [[POST]] на [[PHP]] с использованием curl: | ||
+ | |||
+ | <file php> | ||
+ | <? | ||
+ | function login($url, | ||
+ | $ch = curl_init(); | ||
+ | | ||
+ | curl_setopt($ch, | ||
+ | curl_setopt($ch, | ||
+ | } | ||
+ | | ||
+ | // откуда пришли на эту страницу | ||
+ | | ||
+ | // cURL будет выводить подробные сообщения о всех производимых действиях | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | // | ||
+ | | ||
+ | | ||
+ | |||
+ | // Убеждаемся что произошло перенаправление после авторизации | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | } | ||
+ | |||
+ | // чтение страницы после авторизации | ||
+ | function Read($url){ | ||
+ | $ch = curl_init(); | ||
+ | | ||
+ | // откуда пришли на эту страницу | ||
+ | | ||
+ | // | ||
+ | | ||
+ | | ||
+ | // | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | ===== PHP: удаленный размер файла без загрузки файла ===== | ||
+ | |||
+ | Функция вывод размер удаленного файла, используется библиотека PHP curl и HTTP метод запроса HEAD (параметр CURLOPT_NOBODY). | ||
+ | <file php> | ||
+ | function getRemoteFilesize($url){ | ||
+ | $ch = curl_init($url); | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | $data = curl_exec($ch); | ||
+ | $size = curl_getinfo($ch, | ||
+ | |||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | $url = ' | ||
+ | echo getRemoteFilesize($url); | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | <panel type=" | ||
+ | * [[chrome# | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга