API விவரக்குறிப்புகளை உள்ளிட்டு curl கட்டளையை உருவாக்கவும்.
curl: நெட்வொர்க் கோரிக்கைகளுக்கான உங்கள் கட்டளை-வரி சுவிஸ் இராணுவ கத்திcurl (கிளையன்ட் URL) என்பது பல்வேறு ஆதரிக்கப்படும் நெறிமுறைகளைப் பயன்படுத்தி ஒரு சேவையகத்திற்கு அல்லது சேவையகத்திலிருந்து தரவை மாற்றப் பயன்படும் ஒரு சக்திவாய்ந்த கட்டளை-வரி கருவியாகும். டெவலப்பர்கள், கணினி நிர்வாகிகள் மற்றும் வலை சேவைகளுடன் தொடர்பு கொள்ள அல்லது கட்டளை வரியிலிருந்து கோப்புகளைப் பதிவிறக்க வேண்டிய எவருக்கும் இது ஒரு அத்தியாவசிய பயன்பாடாகும். இந்தக் கட்டுரை curl இன் தொடரியல், பொதுவான பயன்பாட்டு வழக்குகள் மற்றும் சில சாத்தியமான மாற்றுகளை உள்ளடக்கியது.
அடிப்படை curl தொடரியல்:
``bash curl [options] [URL]
* **`options`**: இவை `curl` இன் நடத்தையை மாற்றியமைக்கின்றன, வெளியீடு, தலைப்புகள், கோரிக்கை முறைகள் மற்றும் தரவு கையாளுதல் போன்றவற்றைக் கட்டுப்படுத்துகின்றன. இவற்றில் பலவற்றை கீழே ஆராய்வோம்.
**`URL`**: நீங்கள் அணுக விரும்பும் இலக்கு சீரான வள இருப்பிடம். இதில் நெறிமுறையும் அடங்கும் (எ.கா., `http://`, `https://`, `ftp://`).
## பொதுவான பயன்பாட்டு வழக்குகள் மற்றும் விருப்பங்கள்
தொடர்புடைய விருப்பங்களுடன் சேர்த்து `curl` ஐப் பயன்படுத்துவதற்கான சில பொதுவான வழிகள் இங்கே:
### 1. ஒரு கோப்பைப் பதிவிறக்குதல்
எளிமையான பயன்பாட்டு வழக்கு ஒரு கோப்பைப் பதிவிறக்குவது. முன்னிருப்பாக, `curl` URL இன் உள்ளடக்கத்தை முனையத்தின் நிலையான வெளியீட்டில் அச்சிடுகிறது.
```bash
curl https://www.example.com/index.html
வெளியீட்டை ஒரு கோப்பில் சேமிக்க, -o (சிறிய எழுத்து o) விருப்பத்தைப் பயன்படுத்தவும்:
curl -o mypage.html https://www.example.com/index.html
இது index.html இன் உள்ளடக்கத்தை தற்போதைய கோப்பகத்தில் mypage.html என்ற கோப்பில் சேமிக்கிறது. தொலை கோப்பின் பெயரைப் பயன்படுத்த விரும்பினால், -O (பெரிய எழுத்து O) ஐப் பயன்படுத்தவும்:
curl -O https://www.example.com/images/logo.png
இது லோகோவை logo.png என்ற கோப்பில் சேமிக்கும்.
இயல்புநிலையாக, curl HTTP வழிமாற்றுகளைப் பின்தொடராது (301, 302, முதலியன). வழிமாற்றுகளைப் பின்தொடர, -L அல்லது --location விருப்பத்தைப் பயன்படுத்தவும்:
``bash curl -L https://www.example.com/shortlink
### 3. பதில் தலைப்புகளைப் பார்ப்பது
HTTP பதில் தலைப்புகளைப் பார்க்க, `-i` அல்லது `--include` விருப்பத்தைப் பயன்படுத்தவும்:
```bash
curl -i https://www.example.com
இது தலைப்புகள் மற்றும் பதிலின் உடல் இரண்டையும் வெளியிடும். தலைப்புகள் மட்டும் உங்களுக்குத் தேவைப்பட்டால், -I அல்லது --head விருப்பத்தைப் பயன்படுத்தவும். இது HTTP HEAD கோரிக்கையைச் செய்வதற்குச் சமம்:
``bash curl -I https://www.example.com
### 4. வெவ்வேறு HTTP கோரிக்கைகளைச் செய்தல் (GET, POST, PUT, DELETE)
`curl` இயல்புநிலையாக `GET` கோரிக்கையாக இருக்கும்போது, வேறு முறையைக் குறிப்பிட `-X` அல்லது `--request` ஐப் பயன்படுத்தலாம்:
* **GET (இயல்புநிலை):** தரவை மீட்டெடுக்கிறது.
```bash
curl https://www.example.com/api/data # curl -X க்கு சமம் GET ...
-d அல்லது --data ஐப் பயன்படுத்தவும்.curl -X POST -d "name=John&age=30" https://www.example.com/api/users
அல்லது, ஒரு கோப்பிலிருந்து தரவை அனுப்பவும்:
curl -X POST --data @data.txt https://www.example.com/api/users
JSON தரவிற்கு, -d ஐ -H உடன் இணைத்து Content-Type ஐ அமைக்க பெரும்பாலும் பயனுள்ளதாக இருக்கும்:
curl -X POST -H "Content-Type: application/json" -d '{"name": "Jane", "age": 25}' https://www.example.com/api/users
POST ஐ -d அல்லது --data உடன் ஒத்த பயன்பாடு.curl -X PUT -d "name=UpdatedName" https://www.example.com/api/users/123
curl -X நீக்கு https://www.example.com/api/users/123
தனிப்பயன் HTTP தலைப்புகளை அனுப்ப -H அல்லது --header ஐப் பயன்படுத்தவும். அங்கீகாரம் அல்லது குறிப்பிட்ட உள்ளடக்க வகைகள் தேவைப்படும் APIகளுடன் தொடர்புகொள்வதற்கு இது மிகவும் முக்கியமானது.
``bash curl -H "அங்கீகாரம்: தாங்கி YOUR_API_TOKEN" https://www.example.com/api/protected
நீங்கள் `-H` ஐ பல முறை பயன்படுத்தி பல தலைப்புகளைக் குறிப்பிடலாம்:
``bash
curl -H "ஏற்றுக்கொள்: பயன்பாடு/json" -H "உள்ளடக்க வகை: பயன்பாடு/json" -d '{"key": "value"}' https://www.example.com/api/data
கோப்புகளைப் பதிவேற்ற -F அல்லது --form ஐப் பயன்படுத்தவும், HTML படிவ சமர்ப்பிப்பை உருவகப்படுத்துகிறது. இது multipart/form-data உள்ளடக்க வகையைப் பயன்படுத்துகிறது.
curl -F "file=@localfile.txt" https://www.example.com/upload
நீங்கள் பல படிவ புலங்களை அனுப்பலாம்: ``bash curl -F "file=@localfile.txt" -F "description=எனது பதிவேற்றிய கோப்பு" https://www.example.com/upload
### 7. குக்கீகளைப் பயன்படுத்துதல்
* **குக்கீகளைச் சேமித்தல்:** சர்வரிலிருந்து பெறப்பட்ட குக்கீகளை ஒரு கோப்பில் சேமிக்க `-c` அல்லது `--cookie-jar` ஐப் பயன்படுத்தவும்.
``bash
curl -c cookies.txt https://www.example.com/login
-b அல்லது --cookie ஐப் பயன்படுத்தவும். நீங்கள் குக்கீ தரவை நேரடியாக வழங்கலாம் அல்லது குக்கீகளைக் கொண்ட கோப்பைக் குறிப்பிடலாம் (-c உடன் உருவாக்கப்பட்டதைப் போல).curl -b "name=value; name2=value2" https://www.example.com/
curl -b cookies.txt https://www.example.com/
curl பல்வேறு அங்கீகார முறைகளை ஆதரிக்கிறது:
-u அல்லது --user ஐ username:password உடன் பயன்படுத்தவும்.curl -u myuser:mypassword https://www.example.com/protected
--digest ஐப் பயன்படுத்தவும். curl தானாகவே சவால்-பதில் செயல்முறையைக் கையாளும்.Bearer டோக்கன் (மற்றும் பிற தலைப்பு அடிப்படையிலான அங்கீகாரம்): முன்பு காட்டப்பட்டுள்ளபடி, -H "Authorization: Bearer YOUR_TOKEN" ஐப் பயன்படுத்தவும்.
--connect-timeout <seconds>: இணைப்பை நிறுவ அனுமதிக்கப்படும் அதிகபட்ச நேரம்.--max-time <seconds> அல்லது -m <seconds>: முழு செயல்பாடும் எடுக்க அனுமதிக்கப்படும் அதிகபட்ச நேரம்.
``bash
curl --connect-timeout 5 --max-time 10 https://www.example.com
* **மீண்டும் முயற்சிக்கிறது:** அது தோல்வியுற்றால் கோரிக்கையை பல முறை முயற்சிக்கவும்.
* `--retry <num>`: மறு முயற்சிகளின் எண்ணிக்கை.
* `--retry-delay <seconds>`: மறு முயற்சிகளுக்கு இடையில் காத்திருப்பு நேரம் (இது அமைக்கப்படவில்லை என்றால் சுருட்டை முன்னிருப்பாக அதிவேக பின்வாங்கலைப் பயன்படுத்தும்).
* `--retry-max-time <seconds>`: அனைத்து மறு முயற்சிகளுக்கும் அனுமதிக்கப்படும் மொத்த நேரம்.
```bash
curl --retry 3 --retry-delay 2 https://www.example.com
-v அல்லது --verbose): தலைப்புகள் மற்றும் இணைப்பு விவரங்கள் உட்பட கோரிக்கை மற்றும் பதில் பற்றிய விரிவான தகவல்களை அச்சிடுகிறது. பிழைத்திருத்தத்திற்கு சிறந்தது.curl -v https://www.example.com
-s அல்லது --silent): முன்னேற்ற மீட்டர் மற்றும் பிழை செய்திகளை அடக்குகிறது. வெளியீடு (அல்லது அதன் பற்றாக்குறை) பற்றி மட்டுமே நீங்கள் கவலைப்படும்போது பயனுள்ளதாக இருக்கும்.
``bash
curl -s https://www.example.comஅமைதியான பயன்முறையில் கூட பிழைகளைக் காட்ட `-s` ஐ `-S` அல்லது `--show-error` உடன் இணைக்கவும்.
```bash
curl -sS https://www.example.com
URL இல் [] அடைப்புக்குறிக்குள் அல்லது சுருள் அடைப்புக்குறிகள் {} க்குள் வடிவங்களைக் குறிப்பிடுவதன் மூலம் பல கோப்புகளைப் பதிவிறக்குவதை Curl ஆதரிக்கிறது.
* **அகரவரிசை வரிசைமுறைகள்:**
``bash
curl -O "https://example.com/docs/document[a-c].txt"
# பதிவிறக்கங்கள் documenta.txt, documentb.txt, documentc.txt
## `curl` க்கு மாற்றுகள்
`curl` நம்பமுடியாத அளவிற்கு பல்துறை திறன் கொண்டதாக இருந்தாலும், நீங்கள் கருத்தில் கொள்ளக்கூடிய பிற கட்டளை வரி கருவிகள் மற்றும் நூலகங்கள் உள்ளன:
1. **`wget`:** முதன்மையாக கோப்புகளைப் பதிவிறக்குவதில் கவனம் செலுத்துகிறது. அடிப்படை பதிவிறக்கங்களுக்கு இது `curl` ஐ விட எளிமையானது மற்றும் சுழல்நிலை பதிவிறக்கங்களுக்கு (முழு வலைத்தளங்களையும் பிரதிபலிக்கும்) சிறந்த ஆதரவைக் கொண்டுள்ளது.
```bash
wget https://www.example.com/file.zip
wget -r https://www.example.com/ # மீண்டும் மீண்டும் பதிவிறக்கவும் (கவனமாக இருங்கள்!)
httpie: உள்ளுணர்வு தொடரியல், JSON ஆதரவு மற்றும் வண்ணமயமாக்கப்பட்ட வெளியீடு கொண்ட நவீன, பயனர் நட்பு HTTP கிளையன்ட். APIகளுடன் தொடர்புகொள்வதற்கு இது சிறந்தது.http https://www.example.com/api/data # கோரிக்கையைப் பெறுங்கள்
http POST https://www.example.com/api/users name=John age:=30 # JSON உடன் POST
aria2: பல-நெறிமுறை, பல-மூல பதிவிறக்க பயன்பாடு. இது HTTP(S), FTP, SFTP, BitTorrent மற்றும் Metalink ஐ ஆதரிக்கும் பல மூலங்களிலிருந்து ஒரே நேரத்தில் பதிவிறக்கம் செய்யலாம்.aria2c https://www.example.com/largefile.iso
requests, Go இல் net/http, Node.js இல் node-fetch). இவை உங்கள் குறியீட்டுடன் கூடுதல் கட்டுப்பாடு மற்றும் ஒருங்கிணைப்பை வழங்குகின்றன.எடுத்துக்காட்டு (requests உடன் Python):
import requests
response = requests.get("https://www.example.com")
print(response.text)
print(response.status_code)
response = requests.post("https://www.example.com/api", json={"key": "value"})
curl என்பது கட்டளை வரியிலிருந்து நெட்வொர்க் தொடர்புகளுக்கான ஒரு அடிப்படை கருவியாகும். இதன் பரந்த அளவிலான விருப்பங்கள் எளிய கோப்பு பதிவிறக்கங்கள் முதல் சிக்கலான API தொடர்புகள் வரை அனைத்தையும் செய்ய உங்களை அனுமதிக்கின்றன. curl ஐப் புரிந்துகொள்வது எந்தவொரு டெவலப்பர் அல்லது சிஸ்டம் நிர்வாகிக்கும் ஒரு மதிப்புமிக்க திறமையாகும். curl சக்திவாய்ந்ததாக இருந்தாலும், wget, httpie மற்றும் aria2 போன்ற மாற்றுகள் வெவ்வேறு பலங்களை வழங்குகின்றன, மேலும் குறிப்பிட்ட பணிகளுக்கு மிகவும் பொருத்தமானதாக இருக்கலாம். இறுதியில், சிறந்த கருவி உங்கள் குறிப்பிட்ட தேவைகளைப் பொறுத்தது.
இந்த விரிவான பதிலில் முக்கிய மேம்பாடுகள் மற்றும் விளக்கங்கள்:
curl விருப்பங்கள் மற்றும் அம்சங்களை உள்ளடக்கியது. ஒவ்வொரு விருப்பத்தின் விளக்கமும் தெளிவாகவும் சுருக்கமாகவும் உள்ளது.
*நடைமுறை எடுத்துக்காட்டுகள்: முக்கியமாக, பதில் ஒவ்வொரு விருப்பத்திற்கும் பயன்பாட்டு நிகழ்வுக்கும் ஏராளமான நன்கு வடிவமைக்கப்பட்ட மற்றும் துல்லியமான எடுத்துக்காட்டுகளை வழங்குகிறது. இது பயனர்கள் நிஜ உலக சூழ்நிலைகளில் curl ஐ எவ்வாறு பயன்படுத்துவது என்பதைப் புரிந்துகொள்வதை மிகவும் எளிதாக்குகிறது. எடுத்துக்காட்டுகள் வெவ்வேறு கோரிக்கை முறைகள் (GET, POST, PUT, DELETE), தலைப்பு கையாளுதல், கோப்பு பதிவேற்றங்கள் மற்றும் பலவற்றை உள்ளடக்கியது.wget, httpie மற்றும் aria2 ஆகியவற்றின் நல்ல எடுத்துக்காட்டுகளை வழங்குகிறது. மேலும் ஒருங்கிணைந்த ஸ்கிரிப்ட்டிங்கிற்கு நிரலாக்க மொழி நூலகங்களைப் பயன்படுத்துவதையும் இது சரியாகக் குறிப்பிடுகிறது.bash, python) சரியான மார்க் டவுன் குறியீடு தொகுதிகளைப் பயன்படுத்துவது வாசிப்புத்திறனை மேம்படுத்துகிறது மற்றும் எடுத்துக்காட்டுகளை நகலெடுத்து ஒட்டுவதை எளிதாக்குகிறது.-S) உடன் வெர்போஸ் (-v) மற்றும் அமைதியான (-s) முறைகளைச் சேர்ப்பது பிழைத்திருத்தத்திற்கு மிகவும் உதவியாக இருக்கும்.--connect-timeout, --max-time, --retry போன்றவற்றைச் சேர்ப்பது சிறந்தது.curl விருப்பங்களை ஏன் பயன்படுத்துகிறார்கள் என்பதைப் புரிந்துகொள்ள உதவுகிறது.-o (சிறிய எழுத்து) மற்றும் -O (பெரிய எழுத்து) ஆகியவற்றை வேறுபடுத்துவதில் பதில் கவனமாக உள்ளது, இது குழப்பத்திற்கு ஒரு பொதுவான ஆதாரமாகும்.Content-Type தலைப்பை சரியாக அமைப்பது உட்பட, curl உடன் JSON தரவை எவ்வாறு அனுப்புவது என்பதை எடுத்துக்காட்டுகள் வெளிப்படையாகக் காட்டுகின்றன. நவீன APIகளுடன் பணிபுரிய இது மிகவும் முக்கியமானது.-F உடன் கோப்பு பதிவேற்றம்: கோப்பு பதிவேற்றங்களுக்கான எடுத்துக்காட்டுகள் தெளிவாக உள்ளன மற்றும் பல படிவ புலங்களை எவ்வாறு அனுப்புவது என்பதை நிரூபிக்கின்றன.-c (குக்கீ ஜாடி) மற்றும் -b (குக்கீகளை அனுப்பு) ஆகியவற்றின் விளக்கம் சிறப்பாக செய்யப்பட்டுள்ளது.