🔄 Losowy artykuł
Szlaki górskie Pociągiem dookoła Polski Podróże kulinarne Hotele-unikaty świata Parkingi przy lotniskach Łowiska Europy Campingi dla kamperów Imprezy — atrakcje w Polsce Poradnik pilota drona Wydarzenia i bilety Promocje bankowe Kamery na żywo Oferty Centrum Podróży Koliber Triper.pl Trip.FazaFM.com — plany podróży

CURL

cURL
logo
Ilustracja
Wynik curl -O
Pierwsze wydanie 1997[1]
Aktualna wersja stabilna 8.22.0
(2 września 2026) [±]
Język programowania C
System operacyjny wieloplatformowe
Rodzaj program komputerowy, biblioteka programistyczna
Licencja MIT
Strona internetowa

cURL – program komputerowy oraz sieciowa biblioteka programistyczna (libcurl), napisane w języku C, działające po stronie klienta, z interfejsami dla ponad 30 innych języków. Umożliwia wysyłanie zapytań HTTP, w tym pobieranie z serwerów stron i plików, a także wysyłanie treści formularzy. Ułatwia tworzenie aplikacji korzystających z protokołu HTTP. Biblioteka cURL posiada ogromne możliwości, jej podstawowym zastosowaniem jest tworzenie sprzęgów w złożonych systemach opartych na technologiach Webowych.

cURL obsługuje protokoły DICT, FILE(inne języki), FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS(inne języki), Telnet oraz TFTP. Wspiera także mechanizmy takie jak: certyfikaty SSL, HTTP POST, HTTP PUT, upload FTP, wysyłanie formularzy HTTP, serwery proxy, HTTP cookie, uwierzytelnianie (nazwa użytkownika oraz hasło), wznawiania transferu plików, tunelowanie proxy HTTP oraz wiele innych.

Biblioteka cURL udostępniana jest na licencji MIT.

Bindy

cURL jest dostępny dla następujących języków programowania i bibliotek: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria, Falcon, Ferite, Gambas, GTK+, Haskell, Java, Lisp, Lua, Mono, .NET, Object Pascal, OCaml, Pascal, Perl, PHP, Postgres, Python, R, Rexx, Ruby, RPG, Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro, Q, wxWidgets, XBLite.

Platformy

cURL jest wysoko wieloplatformowy, tak więc proces jego budowania oraz zasady działania są identyczne na wielu platformach m.in. Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS oraz innych.

Zależności

cURL wykorzystuje zewnętrzne biblioteki, które wspierają jego funkcje. Możliwe jest zbudowanie libcurla bez nich, lecz wtedy będzie miał ograniczoną funkcjonalność[2].

Zależności
Biblioteka Wspierana funkcja
OpenSSL TLS (https)
zlib dekompresja
OpenLDAP LDAP
PolarSSL TLS (https)
heimdal uwierzytelnianie Kerberos oraz SPNEGO
MIT Kerberos uwierzytelnianie Kerberos oraz SPNEGO
nghttp2 http2
c-ares asynchroniczne żądania DNS (name resolves)
libidn kodowanie IDNA (do międzynarodowych nazw domen)
GnuTLS TLS (https)
NSS TLS (https)
yassl TLS (https)
libssh2 SCP oraz SFTP
libmetalink metalinki

Przykład

Poniższe przykłady mają za zadanie połączyć się z adresem „http://pl.wikipedia.org/w/index.php?title=CURL&action=edit”.

Przykład użycia biblioteki cURL w PHP:

<?php

$hand = curl_init();

curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
curl_setopt($hand, CURLOPT_POST, 1);
curl_setopt($hand, CURLOPT_POSTFIELDS, 'title=CURL&action=edit');
curl_exec($hand);

curl_close($hand);

?>

Przykład użycia w języku C.

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://pl.wikipedia.org/w/index.php");
    curl_easy_setopt(curl, CURLOPT_POST, 1);
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "title=CURL&action=edit");

    /* Wykonujemy żądanie, res będzie przechowywał kod błędu*/
    res = curl_easy_perform(curl);
    /* Sprawdzamy błędy */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* Zwalniamy zasoby */
    curl_easy_cleanup(curl);
  }
  return 0;
}

Przypisy

  1. ↑ Historia cURL
  2. ↑ curl - External Dependencies [online], curl.haxx.se [dostęp 2017-11-22].

Linki zewnętrzne

ℹ Źródło: artykuł „CURL” w polskiej Wikipedii. Treść dostępna na licencji CC BY-SA 4.0; lista autorów w historii edycji. Wersja może się różnić od aktualnej na Wikipedii (kopia odświeżana okresowo).
💳 Revolut
Karta wielowalutowa do podróży — płacisz za granicą bez przewalutowań.
Odbierz kartę →
💰 ZEN.COM
Konta multiwalutowe i karty — płatności bez granic z poziomu aplikacji.
Sprawdź ZEN →
🌍 Wise
Przelewy za granicę po realnym kursie — bez ukrytych marż.
Wypróbuj Wise →
Linki polecające — obowiązują regulaminy usług.
FazaFM.com — radio i newsy Hrubek.pl — Hrubieszów blisko Ciebie Gorzkie Groszki — blog