CURL
Wynik curl -O
| |
| Pierwsze wydanie | 1997[1] |
|---|---|
| Aktualna wersja stabilna | 8.21.0 (24 czerwca 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, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, 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].
| 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
- ↑ Historia cURL
- ↑ curl - External Dependencies [online], curl.haxx.se [dostęp 2017-11-22].
Linki zewnętrzne
- Strona projektu (ang.)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.