Curl exec: PHP: curl_exec — Manual

Вызвать curl в команде exec — Kubernetes — KodeKloud

stephane.hordoir

#1

Привет

в первой лаборатории Lightning сертифицированного разработчика приложений Kubernetes (CKAD) — KodeKloud, (второе упражнение) Я пытаюсь вызвать команду curl для подключения одного модуля к другому (идея состоит в том, чтобы проверить сетевую политику)

так что я делаю

k exec webapp-color -it -- curl secure-service:80

, но я получаю

ошибка: Произошла внутренняя ошибка: ошибка при выполнении команды в контейнере: не удалось выполнить в контейнере: не удалось запустить exec "a19fdeb04805a7ad9c6c291384661e892ccbef17b43207b0fe43e29281a445 4f": ошибка выполнения среды выполнения OCI: ошибка выполнения: невозможно запустить процесс контейнера: выполнение : "curl": исполняемый файл не найден в $PATH: unknown

когда я делаю

k exec webapp-color -it -- sh
then
curl secure-service

Я получаю sh: curl: not found

Где я ошибся?

trung-codekloud

#2

Hello @stephane.hordoir,

Контейнер в модуле webapp-color с изображением kodekloud/webapp-color , в нем не установлен пакет curl, поэтому вы не можете использовать curl для проверки netpol .
Для этой лаборатории создайте следующий netpol:

 версия API: networking.k8s.io/v1
вид: NetworkPolicy
метаданные:
  имя: политика тестовой сети
  пространство имен: по умолчанию
спецификация:
  подселектор:
    метки соответствия:
      запустить: безопасный стручок
  policyTypes:
    - Вход
  вход:
    - от:
        - подселектор:
            метки соответствия:
              имя: цвет веб-приложения
      порты:
        - протокол: TCP
          порт: 80
 

Затем используйте эту команду для проверки результата:

 k exec -it webapp-color -- sh
/opt # nc -v -z -w 2 защищенная служба 80
служба безопасности (10.105.68.177:80) открыта
 

Что такое команда nc: 8 Команда Netcat (nc) с примерами

Удачного обучения,
Trung.

1 Нравится

stephane.hordoir

#3

Привет! Большое спасибо за быстрый ответ!

Из вашего ответа я предполагаю, что команда netcat nc всегда устанавливается по умолчанию, верно?
как насчет wget ?

1 Нравится

trung-codekloud

#4

Hello @stephane.hordoir,

Это зависит от базового образа каждого приложения, в случае kodekloud/webapp-color мы не можем использовать curl или ping.
То же самое для wget , apt-get … зависит от базового образа приложения ( nginx , httpd , busybox …).

Счастливого обучения,
Трунг.

Стефан Хордуар

#5

О, это проясняет ситуацию. Это означает, что я не могу знать заранее (кроме случаев, когда я смотрю в документации), какое соединение я могу использовать?

Итак, какая стратегия возможна для сертификации (во избежание паники: инструмент не работает или моя конфигурация не работает?)

trung-kodekloud

#6

Если инструмента нет, сообщение об ошибке будет очень четким, например: curl not found или что-то подобное.

Стефан.Хордуар

#7

@trung-kodekloud Спасибо!

1 Нравится

Что такое cURL? | определение cURL

9Блог 0008 » Глоссарий API: Глоссарий терминов API и сокращений программирования » cURL — что такое cURL?

А |
Б | С | Д | Е | Ф | г | Н | я | Дж | К | л | М | Н | О | П | Вопрос | Р | С | Т | У | В | Вт | Х | Y

Когда дело доходит до веб-разработки, на рынке всегда появляются первоклассные и более эффективные инструменты. Одним из таких инструментов является cURL. Возможно, вы слышали о cURL раньше, но даже если нет, эта статья даст вам глубокое понимание cURL, его использования и множества преимуществ.

Что такое CURL и для чего он нужен?

Curl — это объектно-ориентированное программное обеспечение, которое используется для передачи данных через широкий спектр интернет-протоколов для заданного URL-адреса. Это утилита командной строки, которая позволяет передавать файлы в рамках синтаксиса URL. Curl — это, по сути, клиентская программа, которая может похвастаться командами, разработанными таким образом, чтобы они работали для проверки подключения к URL-адресам и облегчения передачи данных. Создатель Curl Даниэль Стенберг определил его как библиотеку, которая позволяет вам подключаться и взаимодействовать с различными серверами с помощью ряда протоколов.

В слове cURL; «c» означает клиент, а «URL» указывает, что curl работает с URL-адресами. Это программное обеспечение поддерживает различные протоколы, включая FTP, HTTPS, HTTPS, TELNET и SMT, что делает его идеальным кандидатом для взаимодействия с API.

Curl может работать на любой платформе и на любом оборудовании, которое существует сегодня, но, хотя некоторые системы поставляются с предустановленным продуктом, некоторые требуют ручной установки для его работы.

Когда использовать cURL?

Поскольку curl поддерживает подключение к удаленным системам через HTTP, HTTPS, TELNET и множество других протоколов, он используется, когда скрипт хочет получить доступ к информации из удаленной системы, как если бы это был локальный файл/поток данных. Это очень важно для разработчиков, которые хотели бы получить данные из удаленной системы и представить их локально. Curl можно использовать в терминале или в командной строке, но вам необходимо убедиться, что он установлен в используемой вами системе, прежде чем пытаться его использовать.

Что такое cURL PHP?

cURL PHP — это модуль, позволяющий PHP-программам получать доступ к функциям curl в PHP. Например, curl exec — это командная строка в PHP, которая упрощает и ускоряет вызов запросов GET/POST, а также получение ответов от других серверов, таких как JSON, и загрузку файлов.

Узнайте больше о том, как использовать API с PHP/cURL.

Примеры cURL

Существуют различные варианты использования Curl, такие как поддержка прокси-сервера, загрузка FT, отправка сообщений HTTP и соединения SSL среди прочего. Ниже приведены несколько примеров Curl вместе с подробным объяснением того, что они делают.

1. Вернуть только HTTP-заголовки URL-адреса

Curl -I https://www.keycdn.com/

Параметр -I используется для указания Curl извлекать HTTP-заголовок только с определенной страницы или ресурс.

2. Выполнение запроса HTTP GET

Curl https://www.keycdn.com/

Здесь показана базовая команда curl, вызывающая запрос GET для URL-адреса веб-сайта.

3. Для предоставления дополнительного заголовка HTTP

Команда curl также может использоваться для добавления нового заголовка HTTP в запросы GET. Все, что вам нужно, это добавить параметр –H, за которым следует имя заголовка и значение в кавычках.

curl -H "X-Header: Value" https://www.keycdn.com/

4. Продолжить загрузку

Команда Curl также может использоваться для возобновления загрузки, которая была преднамеренно остановлена ​​или прервана. Вы просто добавляете -c к соответствующей команде Curl, и система возобновит загрузку элемента с того места, где она была остановлена.

curl -C - -O https://cdn.keycdn.com/img/cdn-stats.png

API-интерфейсы cURL на RapidAPI

RapidAPI позволяет разработчикам получать доступ к API-интерфейсам Curl. Им нужно установить curl, если он не предустановлен, и Unirest PHP 5.4+ либо с помощью композитора, либо с Github. Затем они могут использовать Unirest для создания запросов на PHP.

Добавьте свой API
Просмотрите API

Для предприятий

Ускорьте вывод программного обеспечения на рынок с помощью специализированного рынка API :

  • Внутренний рынок White-label
  • Break бункеры разработки
  • Управление потреблением API

Создайте рынок корпоративных API
Попробуйте RapidAPI для Teams

Ознакомьтесь с этими API

Telesign SMS Verify

Обеспечивает запатентованную проверку по телефону и двухфакторную аутентификацию с использованием одноразового кода доступа на основе времени, отправляемого по SMS

Подключение к API

SendGrid

Добро пожаловать в веб-API SendGrid v3! Этот API RESTful, полнофункциональный и с ним легко интегрироваться.