CURL

**cURL** (උච්ඡාරනය කරන ආකාරය, "ක(ර්)ල්", ) පරිගණක මෘදුකාංග ව්‍යාපෘතිය විසින් විවිධ ජාල ප්‍රොටකෝල හරහා දත්ත හුවමාරු සඳහා පුස්තකාල **(libcurl)** සහ විධාන පේලි අතුරු මුහුණතක මෙවලමක් **(curl)** සපයයි. නමේ තේරුම "Client URL" එනම් "සේවාදායක යූආර්එල්" යන්නයි,  එය 1997 දී ප්‍රථම වරට නිකුත් කරන ලදී. 

## ඉතිහාසය 
cURL ප්‍රථම වරට 1997 දී නිකුත් කරන ලදී.  *එය මුලින් httpget* ලෙස නම් කරන *ලද අතර පසුව cURL* යන වර්තමාන නම භාවිතා කිරීමට පෙර urlget ලෙස ද හැදින් විණ. මුල් කතුවරයා සහ ප්‍රධාන ක්‍රමලේඛකයා වන්නේ ස්වීඩන් ජාතික ඩැනියෙල් ස්ටෙන්බර්ග් වන අතර ඔහු IRC භාවිතා කරන්නන් සඳහා ස්වයංක්‍රීයව මුදල් විනිමය අනුපාත ලබා දීමට අවශ්‍ය වූ නිසා cURL නිර්මාණය කළේය. 

## libcurl 
libcurl යනු නොමිලේ නිකුත් කල සේවාලාභී පාර්ශවීය URL හුවමාරු කල හැකි පුස්තකාලයකි,  මෙය කුකී, DICT, FTP, FTPS, ගොපර්, HTTP/1  ( HTTP/2 සහ HTTP/3 සමඟ), HTTP POST, HTTP PUT, HTTP ප්‍රොක්සි, HTTPS, IMAP, Kerberos, LDAP, MQTT, POP3, RTSP, RTMP, SCP, SMTP, සහ SMB සඳහා උපකාර කරයි. පුස්තකාලය විසින් URI ගොනු ක්‍රමය, SFTP, ටෙල්නෙට්, TFTP, ගොනු හුවමාරු නැවත ආරම්භ කිරීම්, FTP උඩුගත කිරීම, HTTP ආකෘති පත්‍රය මත පදනම් වූ උඩුගත කිරීම, HTTPS සහතික, LDAPS, ප්‍රොක්සි සහ පරිශීලක-මුරපද සත්‍යාපන සඳහා සහය දක්වයි. 

libcurl ජංගම පරිගණක පුස්තකාලයක් වේ. AIX, AmigaOS, Android, BeOS, BlackBerry Tablet OS සහ BlackBerry 10,  OpenVMS, ඩාවින්, DOS, FreeBSD, HP-UX, HURD, iOS, IRIX, Linux, macOS, NetBSD, NetWare, OpenBSD, OS/2, QNX Neutrino, RISC OS, Solaris, Symbian, Tru64, Ultrix, UnixWare සහ Microsoft Windows ඇතුළු බොහෝ පරිගණක වේදිකාවල එය එක සමානව ක්‍රියාත්මක වේ. 

libcurl පුස්තකාලය නොමිලේ වන අතර ආරක්ෂිත-thread සහ IPv6 සමඟ හොදින් කියාකරයි. C / C++, ජාවා, PHP සහ පයිතන් ඇතුළු පරිගණක භාෂා 50 කට වැඩි ගණනකට බන්ධන ලබා ගත හැකිය. 

මෙම libcurl පුස්තකාල විසින් GnuTLS, mbed TLS, NSS, IBM i තුල gskit, Windows තුල SChannel, macOS සහ iOS මත ආරක්ෂිත ප්රවාහන, OpenSSL හරහා SSL / TLS, Boringssl, libressl, AmiSSL, wolfSSL, BearSSL, Mesalink හා rustls සඳහා සහය දක්වයි.[ *උපුටා ගැනීම අවශ්‍යයි* ]

## cURL 
cURL යනු URL සින්ටැක්ස් භාවිතයෙන් ලිපිගොනු ඇතුළු දත්ත ලබා ගැනීම හෝ යැවීම සඳහා වන විධාන පේලි මෙවලමකි. cURL විසින් libcurl භාවිත කිරීම නිසා, libcurl සහාය දක්වන සෑම ප්‍රොටෝකෝලයකටම cURL ද සහය දක්වයි. 

cURL විසින් HTTPS සඳහා සහය දක්වන අතර එය, සාමන්‍යයෙන් HTTPS වැනි ආරක්ෂිත ප්‍රොටකොල තුලදී SSL සහතික තහවුරු කිරීමක් ද සිදුකරයි.. cURL විසින් HTTPS හරහා දුරස්ථ සේවාදායකයකට සම්බන්ධ වූ විට එම සේවාදායකට අදාල සහතිකය ලබා ගෙන, පසුව එහි CA සහතිකය මඟින් එහි දුරස්ථ සේවාදායකයේ වලංගු භාවය පරීක්ෂා කර බලා ඊට අදාල සේවාදායකය එය යැයි තහවුරු කර ගනී. සමහර cURL පැකේජ CA සහතික ගබඩා ගොනුව සමඟ එකතු කර ඇත. CA සහතික සඳහාම වෙන්කල `--cacert` හා `--capath` වැනි විධාන කිහිපයක් ද පවති. එම  සහතික ගබඩා කළ ගොනුවේ පිහිටීම සඳහන් කිරීමට --cacert විකල්පය භාවිතා කළ හැකිය. වින්ඩෝස් තුල දී, CA සහතික කිරීමේ ගොනුවක් නිශ්චිතව දක්වා නොමැති විට, පහත දැක්වෙන අනුපිළිවෙලෙහි cURL විසින් "curl-ca-bundle.crt" ගොනු නාමය සහිත CA සහතිකය සොයයි:

# cURL වැඩසටහන පිහිටා ඇති නාමාවලිය.
# දැනට වැඩ කරන නාමාවලිය.
# වින්ඩෝස් පද්ධති නාමාවලිය.
# Windows නාමාවලිය.
# %PATH% පාරිසරික විචල්‍යයන්හි දක්වා ඇති නාමාවලියන්. 

දුරස්ථ සේවාදායකය ස්වයං-අත්සන-ලද සහතිකයක් භාවිතා කරන්නේ නම් හෝ දුරස්ථ සේවාදායක සහතිකය CA සහතික ගොනුවේ ලැයිස්තුගත කර ඇති CA විසින් අත්සන් නොකළහොත් cURL විසින් දෝෂ පණිවිඩයක් ලබා දෙනු ඇත. ආරක්‍ෂිත තහවුරු කිරීම මඟ හැරීමට, -k හෝ --insecure විකල්ප භාවිතා කළ හැකිය. විකල්පයක් වශයෙන්, දුරස්ථ සේවාදායකය විශ්වාස කරන්නේ නම්, දුරස්ථ සේවාදායක CA සහතිකය CA සහතික ගබඩා ගොනුවට එකතු කළ හැකිය.

## උදාහරණ 
cURL හි සරලම භාවිතය වන්නේ, `curl` යනුවෙන් සටහන් කර ඊට ඉදිරියෙන් ලබා ගැනීමට අවශ්‍යය URL ලිපිනය විධාන පේලි මුහුනතෙ හි සටහන් කිරීමයි.

```console
$ curl www.example.com
```

cURL විසින් ලබා ගත් දත්ත පද්ධතිය මත නියම කර ඇති සම්මත ප්‍රතිදානය තුල දිස් වනු ඇත (සාමාන්‍යයෙන් විධාන පේලි මුහුණත තුල). ඒ නිසා ඉහත සඳහන් විධාන ලබා දුන් පසු, බොහො පද්ධති තුලදී, www.example.com හි මූලාශ කේතය විධාන කවුලුව තුල දිස්වනු ඇත. ප්‍රතිදානය ගොනුවක් තුළ ගබඩා කිරීම සඳහා -o විධානය භාවිතා කළ හැකිය:

```console
$ curl -o example.html www.example.com
```

මෙවලමෙහි හැසිරීම වෙනස් කරන තවත් විකල්ප තිබේ.

## මේවා ද බලන්න 
* curl-loader - cURL මත පදනම් වූ විවෘත-මූලාශ්‍ර පරීක්ෂණ මෙවලම
* libwww - විධාන රේඛා අතුරුමුහුණතක් සමඟ එන මුල් පුස්තකාලය
* PowerShell - *iwr* (Invoke-WebRequest) වින්ඩෝස් පවර්ෂෙල්හි cURLට සමාන ක්‍රියාකාරීත්වයක් තිබුණි; Web-client පන්තිය ද එසේමය. 
* වෙබ් ක්‍රෝලර් - වෙබ් එකට රිංගා ගත හැකි අන්තර්ජාල බොට් එකකි.
* Wget - නැවත නැවත බාගැනීමේ හැකියාව  ඇති නමුත් පුස්තකාලයක් අඩංගු නොවන cURLට සමාන විධාන පේලි මෙවලමකි.

## බාහිර සම්බන්ධක 
* 
* වෙනත් විවෘත කේත බාගැනීම් මෙවලම්, cURLට එදිරිව සංසන්දනය කිරීම
* CURL, wget සමඟ සංසන්දනය

## යොමු 
ප්‍රවර්ගය:CS1 ඉතාලි-භාෂා මූලාශ්‍ර (it)
ප්‍රවර්ගය:විධාන පේලි
ප්‍රවර්ගය:ටෙල්නෙට්
ප්‍රවර්ගය:HTTP
ප්‍රවර්ගය:C භාෂාවෙන් ලියූ මෘදුකාංග
ප්‍රවර්ගය:විධාන පේලි මෘදුකාංග