Spis treści
Definicja: czym jest cURL?
cURL (skrót od Client URL) to narzędzie wiersza poleceń oraz biblioteka programistyczna umożliwiająca przesyłanie danych do i z serwerów internetowych przy użyciu różnych protokołów, takich jak HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, IMAP i wielu innych. Jest to jedno z najczęściej używanych narzędzi w automatyzacji połączeń z API, testowaniu serwisów internetowych oraz integracjach aplikacji.
Do czego służy cURL?
- Pobierania plików z Internetu,
- Wysyłania danych metodą POST, PUT, DELETE do API,
- Testowania zapytań HTTP/HTTPS,
- Autoryzacji połączeń z API (np. OAuth, Basic Auth),
- Monitorowania statusów serwerów lub aplikacji.
Jak działa cURL?
Działanie cURL polega na nawiązaniu połączenia z określonym adresem URL i przesłaniu żądania według zadanego protokołu. Odpowiedź z serwera może zostać wyświetlona w konsoli, zapisana do pliku lub przetworzona dalej.
Przykładowe zapytanie GET:
curl https://api.example.com/users
Przykład zapytania POST z nagłówkiem i danymi JSON:
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-d '{"login": "admin", "password": "haslo123"}'
Najczęściej używane opcje cURL
-X
– ustawia metodę HTTP (GET, POST, PUT, DELETE),-H
– dodaje nagłówek HTTP,-d
– przekazuje dane (najczęściej JSON lub x-www-form-urlencoded),-o
– zapisuje odpowiedź do pliku,-u
– uwierzytelnianie Basic Auth (np.-u user:pass
),-I
– pobiera tylko nagłówki odpowiedzi,-L
– automatyczne podążanie za przekierowaniami (HTTP 3xx),--data-urlencode
– koduje dane do przesłania w formularzu.
cURL jako biblioteka w PHP
W środowiskach webowych cURL jest często wykorzystywane w PHP do wykonywania zapytań z poziomu skryptów. Przykład:
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer TOKEN"]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Zalety korzystania z cURL
- Uniwersalność – działa z wieloma protokołami,
- Elastyczność – ogromna liczba opcji konfiguracyjnych,
- Dostępność – dostępne niemal na każdej platformie,
- Automatyzacja – idealne do skryptów i cron jobów.
Podsumowując
cURL to potężne i elastyczne narzędzie do komunikacji z serwerami przez Internet. Dzięki wsparciu wielu protokołów oraz łatwości użycia w terminalu i skryptach, stało się standardem w testowaniu i integracji aplikacji webowych. Znajomość cURL przydaje się każdemu, kto pracuje z API, serwisami zdalnymi lub aplikacjami internetowymi.