cURL

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
cURL
biblioteka programistyczna
Napisane w C
Pierwsze wydanie 1997[1]
Aktualna wersja stabilna 7.37.1 / 16 lipca 2014[2]
Licencja licencja MIT
http://curl.haxx.se/

cURL – sieciowa biblioteka programistyczna, napisana w języku C, działająca 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 o technologie Webowe.

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 (użytkownik+hasło), wznawiania transferu plików, tunelowanie proxy HTTP oraz wiele innych.

Biblioteka cURL udostępniana jest na licencji MIT.

Bindy[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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.

Przykład[edytuj | edytuj kod]

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 and libcurl (ang.). [dostęp 2014-05-25].

Linki zewnętrzne[edytuj | edytuj kod]