Curl ftp buyruqlari. PHP CURL - funksiyalar va foydalanishga misollar. CURL misoli - masofaviy skriptni chaqirish va natijani olish

Haqiqiy amaliy misol: IP manzilini o'zgartirish uchun routerni (modemni) qayta ishga tushirishingiz kerak. Buni amalga oshirish uchun sizga kerak: marshrutizatorga kiring, texnik xizmat ko'rsatish sahifasiga o'ting va "Qayta yuklash" tugmasini bosing. Agar bu harakatni bir necha marta bajarish kerak bo'lsa, protsedurani takrorlash kerak. Qabul qiling, bu tartibni har safar qo'lda qilishni xohlamaysiz. cURL bularning barchasini avtomatlashtirish imkonini beradi. Bir nechta cURL buyruqlari yordamida siz avtorizatsiyaga erishishingiz va routerdagi vazifani bajarishingiz mumkin.

  • cURL buyruq satridagi veb-saytlardan ma'lumotlarni olish uchun foydalidir.
Yana bir amaliy misol: biz bir nechta saytlar uchun umumiy statistikani namoyish qilishni amalga oshirmoqchimiz. Agar biz cURL dan foydalansak, bu mutlaqo ahamiyatsiz vazifaga aylanadi: cURL yordamida biz statistika yig'ish xizmatida autentifikatsiya qilamiz (agar kerak bo'lsa), keyin (yana cURL buyruqlari yordamida) biz kerakli sahifalarni olamiz, kerakli ma'lumotlarni tahlil qilamiz; protsedura barcha saytlarimiz uchun takrorlanadi, keyin biz yakuniy natijani qo'shamiz va ko'rsatamiz.

Bular. cURL dan foydalanish holatlari juda realdir, garchi ko'pchilikda cURL uni o'z dasturlari uchun ishlatadigan dasturchilarga kerak bo'ladi.

CURL ko'plab protokollar va avtorizatsiya usullarini qo'llab-quvvatlaydi, fayllarni uzatishi mumkin, cookie-fayllar bilan to'g'ri ishlaydi, SSL sertifikatlari, proksi-serverlar va boshqalarni qo'llab-quvvatlaydi.

PHP va buyruq satrida cURL

Biz cURL dan ikkita asosiy usulda foydalanishimiz mumkin: PHP skriptlarida va buyruq satrida.

Serverda PHP-da cURL-ni yoqish uchun php.ini faylidagi qatorni izohdan olib tashlashingiz kerak.

Kengaytma=php_curl.dll

Va keyin serverni qayta ishga tushiring.

Linuxda siz curl paketini o'rnatishingiz kerak.

Debian, Ubuntu yoki Linux Mint-da:

$ sudo apt-get install curl


Fedora, CentOS yoki RHEL da:

$ sudo yum curl o'rnatish

PHP va buyruq satrida foydalanishdagi farqni aniq ko'rish uchun biz bir xil vazifalarni ikki marta bajaramiz: birinchi navbatda PHP skriptida, keyin esa buyruq satrida. Keling, chalkashmaslikka harakat qilaylik.

cURL yordamida ma'lumotlarni olish

PHP da cURL yordamida ma'lumotlarni olish

PHP da misol:

Hammasi juda oddiy:
$target_url- bizni qiziqtirgan sayt manzili. Sayt manzilidan keyin siz ikkita nuqta qo'yishingiz va port manzilini qo'shishingiz mumkin (agar port standartdan farq qilsa).

curl_init- yangi seansni ishga tushiradi va bizning misolimizda o'zgaruvchiga tayinlangan tutqichni qaytaradi $ch.

Keyin so'rovni cURL funktsiyasi bilan bajaramiz curl_exec, unga parametr sifatida tavsiflovchi uzatiladi.

Har bir narsa juda mantiqiy, lekin bu skript bajarilganda saytning mazmuni bizning sahifamizda ko'rsatiladi. Ammo biz tarkibni ko'rsatishni istamasak-chi, lekin uni o'zgaruvchiga yozmoqchi bo'lsak (keyingi ishlov berish yoki tahlil qilish uchun).

Skriptimizga bir oz qo'shamiz:

0) ( echo "Curl xatosi: " . curl_error($ch); ) curl_close($ch); ?>

Bizda chiziq bor curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);.

curl_setopt- variantlarni o'rnatadi. Variantlarning to'liq ro'yxatini ushbu sahifada topishingiz mumkin:

Mehmonlardan yashirin

$response_data = curl_exec($ch);

Endi skript qiymati $response_data o'zgaruvchisiga tayinlanadi, bu bilan keyingi operatsiyalarni bajarish mumkin. Masalan, siz uning mazmunini ko'rsatishingiz mumkin.

Tikmalar

Agar (curl_errno($ch) > 0) ( echo "Curl error: " . curl_error($ch); )

xatolar yuzaga kelganda disk raskadrovka uchun xizmat qiladi.

Buyruqlar satrida cURL yordamida ma'lumotlarni olish

Buyruqlar qatorida shunchaki yozing

o'rniga qaerda mi-al.ru- veb-saytingiz manzili.

Agar siz natijani ekranda ko'rsatish o'rniga, ma'lumotlarni o'zgaruvchiga nusxalashingiz kerak bo'lsa, buni bajaring:

Temp="curl mi-al.ru"

Biroq, ba'zi ma'lumotlar hali ham ko'rsatiladi:

Ularning ko'rsatilishini oldini olish uchun kalitni qo'shing -s:

Temp="curl -s mi-al.ru"

Siz nima yozilganligini ko'rishingiz mumkin:

Echo $temp | Ozroq

Asosiy va HTTP autentifikatsiyasi

Autentifikatsiya, sodda qilib aytganda, foydalanuvchi nomi va parolni kiritishdir.

Asosiy autentifikatsiya serverga asoslangan autentifikatsiya hisoblanadi. Buning uchun ikkita fayl yaratiladi: .htaccess Va .htpasswd

.htaccess faylining mazmuni shunga o'xshash

AuthName "Faqat ro'yxatdan o'tgan foydalanuvchilar uchun!" AuthType Basic uchun haqiqiy foydalanuvchi AuthUserFile /home/freeforum.biz/htdocs/.htpassw talab qilinadi


.htpasswd faylining mazmuni quyidagicha:

Mial: CRdiI.ZrZQRRc

Bular. login va parol xesh.

Parol bilan himoyalangan jildga kirishga harakat qilganingizda, brauzer quyidagicha ko'rinadi:

HTTP autentifikatsiyasi veb-saytdagi formaga login va parolni kiritganimizda sodir bo'ladi. Aynan shu autentifikatsiya pochta, forumlar va hokazolarga kirishda qo'llaniladi.

Asosiy cURL autentifikatsiyasi (PHP)

Veb-sayt mavjud

Mehmonlardan yashirin

Keling, boshlang'ich skriptimizni sinab ko'raylik:

0) ( echo "Curl error: " . curl_error($ch); ) else ( echo $response_data; ) curl_close($ch); ?>

Skript xato yo'q deb hisoblasa-da, biz chiqishni umuman yoqtirmaymiz:

Ikki qator qo'shing:

Curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "ru-board:ru-board");

Birinchi qatorda biz autentifikatsiya turini o'rnatdik - asosiy. Ikkinchi qatorda ikki nuqta bilan ajratilgan ism va parol mavjud (bizning holatlarimizda ism va parol bir xil - ru-board). Bu shunday chiqdi:

0) ( echo "Curl error: " . curl_error($ch); ) else ( echo $response_data; ) curl_close($ch); ?> Keling, sinab ko'ramiz: 30946 Ajoyib! Asosiy cURL autentifikatsiyasi (buyruqlar satrida) Xuddi shu narsa buyruq satrida bitta satr bilan amalga oshirilishi mumkin: curl -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/

Men autentifikatsiya turini belgilashni unutmadim, shunchaki cURL da asosiy autentifikatsiya turi sukut bo'yicha.

Buyruqlar satrida hamma narsa shu qadar tez amalga oshdiki, men umidsizlikdan quyidagi dasturni yozdim. U saytga ulanadi va oxirgi yangilanishni yuklab oladi:

Temp=`curl -s -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/ | grep -E -o "Update_FED_201(1).(2).(2).7z" | uniq | quyruq -n 1`; curl -o $temp -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/$temp

Yana bir nechta buyruqlar bilan siz qo'shishingiz mumkin:

  • arxivni belgilangan katalogga ochish;
  • ConsultantPlus yangilanishlarini ishga tushirish (bular uning uchun yangilanishlar);
  • so'nggi mavjud yangilanish allaqachon yuklab olinganligini yoki yangisi paydo bo'lganligini tekshirishingiz mumkin;
  • kundalik yangilanishlar uchun barchasini Cron-ga qo'shing.
HTTP autentifikatsiyasi cURL

PHP da HTTP cURL autentifikatsiyasi

Biz bilishimiz kerak:

  • autentifikatsiya ma'lumotlarini yuborish manzili
  • yuborish usuli GET yoki POST
  • tizimga kirish
  • parol
Ba'zan bu ma'lumotlar etarli emas. Keling, buni aniqlaylik.

Ma'lumotni yuborishingiz kerak bo'lgan manzil autentifikatsiya shaklidan olinishi mumkin. Masalan:

Biz mulkni ko'rib chiqamiz harakat. Bular. oxirgi sahifa login.php. Bizga to'liq manzil kerak, shunga o'xshash

Mehmonlardan yashirin

Bu erda biz yuborish usulini ham topamiz: usul = "post"

Men login va parolni ham bilaman: admin va qwerasdfzxcv
Bular. POST usuli yordamida formadan serverga string yuboriladi. Nazariy jihatdan, biz yangi qator qo'shgan oldingi skriptimiz ishlashi kerak. Bular. autentifikatsiya sodir bo'lishi kerak.

0) ( echo "Curl error: " . curl_error($ch); ) else ( ) curl_close($ch); ?>

Skriptdagi yangi qator

curl_setopt($ch, CURLOPT_POSTFIELDS, "LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv");

Bu yerga curl_setopt- cURL parametrlarini sozlash uchun bizga allaqachon tanish bo'lgan funksiya, CURLOPT_POSTFIELDS- bu biz o'rnatayotgan variantning nomi. CURLOPT_POSTFIELDS POST usuli yordamida uzatiladigan barcha ma'lumotlarni o'z ichiga oladi. Xo'sh, chiziqning o'zi LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv- bu biz uzatadigan ma'lumotlar.

Agar siz shaklni diqqat bilan ko'rib chiqsangiz, unda yashirin maydonlar ham mavjudligini ko'rasiz. Va ma'lumotlarni qayta ishlash yoki JavaScript bilan to'ldirish mumkin.Bularning barchasini o'rganishingiz mumkin, lekin men oddiyroq usulni afzal ko'raman.

Men Wireshark-dan foydalanmoqdaman. Ushbu dastur traffikni hidlash (to'xtatib turish) uchun mo'ljallangan. Va aynan unda saytga aynan nima uzatilayotganini ko'rish juda qulay.

Ushbu kichik videoni tomosha qiling:


Bular. ma'lumotlar uzatiladigan manzil bilan men to'g'ri taxmin qildim. Ammo uzatilgan sim ancha murakkab bo'lib chiqdi.

Men to'g'ri parametrni kiritdim va skriptni biroz o'zgartirdim, shunda u nafaqat tizimga kiradi, balki routerdan biror narsa oladi:

0) ( echo "Curl xatosi: " . curl_error($ch); ) else ( $target_url2 = "http://188.35.8.64:8080/bsc_wlan.php"; $ch2 = curl_init($target_url2); curl_setopt($ ch2, CURLOPT_RETURNTRANSFER, 1); $response_data2 = curl_exec($ch2); preg_match("|f.ssid.value = "(.*)";|", $response_data2, $results2); $results2 = str_replace("f" .ssid.value = "", "", $results2); $results2 = str_replace("";", "", $results2); echo "Wi-Fi tarmoq nomi: $natijalar2
"; preg_match("|f_wpa.wpapsk1.value(.*)";|", $response_data2, $results3); $results3 = str_replace("f_wpa.wpapsk1.value", "", $results3); $results3 = str_replace("="", "", $results3); $results3 = str_replace("";", "", $results3); echo "Wi-Fi tarmog'i paroli: $natijalar3"; ) curl_close($ch); ?>

Aytgancha, agar egasi parolni yangilasa (lekin proshivkani yangilamasa), yangi parolni har doim quyidagi manzilda ko'rish mumkin.

Mehmonlardan yashirin

(Bu D-Link DIR-300, D-Link DIR-320 va D-Link DAP-1353 routerlaridagi taniqli zaiflik).

Buyruqlar satrida HTTP cURL autentifikatsiyasi

Biz allaqachon to'liq manzilni, shuningdek uzatiladigan satrni bilamiz. Shunday qilib, bu oddiy:

Curl --ma'lumotlar "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv&login=Log+In+&VER_CODE=" http://188.35.8.64:8080/login.

Menimcha, hamma narsa aniq, chunki biz bu muddatlarni allaqachon ko'rib chiqdik. Agar kimdir tushunmasa, izohlarda so'rang.

Ma'lumotlarni olish va tahlil qilish uchun cURL dan foydalanish misoli quyidagi buyruqlar to'plami bo'lishi mumkin:

Curl -s --ma'lumotlar "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv&login=Log+In+&VER_CODE=" http://188.35.8.64:8080 & elogin.phcholl/de/ " && echo "Wi-Fi tarmoq nomi" && curl -s http://188.35.8.64:8080/bsc_wlan.php | grep -E "f.ssid.value = "(.)*";" | sed "s/f.ssid.value = "//" | sed "s/";//" && echo "Wi-Fi tarmoq paroli" && curl -s http://188.35.8.64:8080/bsc_wlan.php | grep -E "f_wpa.wpapsk1.(.)*";" | sed "s/f_wpa.wpapsk1.value//" | sed "s/";//" | sed "s/="//"

Ushbu sarlavhani quyidagicha yozish to'g'riroq bo'ladi: "Murakkab" avtorizatsiya holatlari. Bular. "Murakkab" so'zini qo'shtirnoq ichiga qo'ying. Ular faqat birinchi qarashda, aniq bo'lmaganda murakkab ko'rinadi: jo'natish qayerda sodir bo'ladi, qaysi maydon nomlari, aniq nima yuborilgan va hokazo.

Lekin, aslida, ularning barchasi POST yoki GET usullariga tushadi. Aynan nima yuborilayotganini tushunish uchun siz sahifani forma bilan diskingizga saqlashingiz va yuborish tugmachasiga yuborish uchun yaratilgan ma'lumotlarni ko'rsatish funksiyasini qo'shishingiz mumkin. Yoki undan ham oddiyroq - men kabi Wireshark.

Agar ma'lumotlar to'g'ri bo'lsa, lekin autentifikatsiya sodir bo'lmasa, siz quyidagi yo'nalishlarda qazishingiz kerak:

  • to'g'ri yo'naltiruvchi qatorni o'rnating
  • "to'g'ri" foydalanuvchi agenti qatorini o'rnating.
Bularning barchasi asosiy cURL usullari yordamida amalga oshirilishi mumkin, lekin men bunga kirmayman. Dars allaqachon etarlicha uzun edi, lekin men ham cURL bilan bir nechta fokuslarni ko'rsatmoqchi edim.

Maslahatlar va fokuslar cURL

cURL va CURLOPT_COOKIEJAR dan tashqari cookie-fayllarni qabul qilish

Menimcha, cURL cookie-fayllarni to'g'ri ishlashi allaqachon aniq - ularni saqlaydi, server so'raganda ulardan foydalanadi va hokazo. Lekin ba'zida cookie-fayllarni saqlash kerak bo'ladi. Buning uchun CURLOPT_COOKIEJAR deb nomlangan variant mavjud, ammo undan foydalanish har doim ham mumkin emas. Bizning birinchi hiyla-nayrangimiz shu narsaga bag'ishlangan.

Ba'zan, serverda PHP sozlanganligi sababli, CURLOPT_COOKIEJAR (qabul qilingan cookie-fayllarni faylga saqlash imkonini beradi) va CURLOPT_COOKIEFILE (fayldagi cookie-fayllardan foydalanish imkonini beradi) kabi variantlar bizda mavjud emas. Chunki ular ushbu variantlardan foydalanib, ularning serveridan istalgan faylni o'g'irlashimiz mumkinligini aytishadi. Mana bu muammoning yechimi:

1) Biz CURLOPT_FOLLOWLOCATION dan foydalanmaymiz
2) curl_setopt dan foydalaning ($ch, CURLOPT_HEADER, 1)
3) Quyidagi kabi sarlavhadan cookie-fayllarni to'plang:

Preg_match_all("|Set-Cookie: (.*);|U", $content, $natijalar); $cookies = implode(";", $natijalar);

4) curl_setopt($ch, CURLOPT_COOKIE, $cookie) yordamida ularni o'rnating;

Ikkinchi maslahat. Biz hujumchilardan qurbonlarga aylanishimiz mumkin. O'rtadagi odam hujumi qurboni bo'lmaslik uchun biz buni qilamiz.

Iltimos, hamma, CURLOPT_SSL_VERIFYPEER sozlamasini noto‘g‘ri yoki 0 ga qo‘yishni to‘xtating. Agar PHP o‘rnatishingizda eng so‘nggi ildiz CA sertifikatlari to‘plami bo‘lmasa, curl veb-saytidan birini yuklab oling va uni serveringizga saqlang:

Mehmonlardan yashirin

Keyin php.ini faylingizdagi yo'lni o'rnating, masalan, Windowsda:

Curl.cainfo=c:phpcacert.pem

CURLOPT_SSL_VERIFYPEERni o'chirib qo'yish biz istamagan odam-in-the-middle (MITM) hujumiga imkon beradi!

Xo'sh, bugungi kun uchun oxirgi maslahat. Ko'p sonli asinxron jingalak so'rovlari mumkinligini bilarmidingiz?

Buning uchun siz foydalanishingiz mumkin curl_multi_init. Tafsilotlar va namuna kodi rasmiy hujjatlarda

Mehmonlardan yashirin

Mehmonlardan yashirin


Buyruqlar satrida cURL haqida

Mehmonlardan yashirin


CURL darsining ikkinchi qismi ham rus tilida o'qish uchun tayyorlangan: "".

Men PHP dasturlash tili haqida bir oz gapirishni taklif qilaman va ayniqsa kengaytmalar mavzusiga to'xtalib o'tmoqchiman CURL, ya'ni. PHP skriptining o'zidan turli xil protokollar yordamida turli serverlar bilan o'zaro ishlash qobiliyati.

Curl-ni ko'rib chiqishni boshlashdan oldin, eslatib o'tmoqchimanki, biz PHP tiliga, masalan, PHP-da Excel-ga yuklash yoki PHP-da autentifikatsiya qilish qobiliyati haqida materialda allaqachon to'xtalib o'tganmiz va endi buni qilish qobiliyati haqida gapiraylik. PHP ga so'rov yuborish.

CURL nima?

CURL PHP skriptidan HTTP kabi so'rovlarni yuborish uchun ishlatilishi mumkin bo'lgan PHP funktsiyalari kutubxonasi. CURL HTTP, HTTPS, FTP va boshqalar kabi protokollarni qo'llab-quvvatlaydi. Siz HTTP so'rovlarini GET, POST va PUT usullaridan foydalanib yuborishingiz mumkin.

CURL masofaviy skriptga qo'ng'iroq qilish va natijani olish yoki shunchaki chaqirilgan sahifaning HTML kodini saqlash kerak bo'lgan hollarda foydali bo'lishi mumkin, umuman olganda, har kim o'z foydalanishini topishi mumkin, ammo gap shundaki, siz so'rovlarni yuborishingiz mumkin. skript ishlamoqda.

PHP da CURL kutubxonasini ulash

CURL kutubxonasidan foydalanish uchun uni mos ravishda ulashingiz kerak.

Eslatma! Misol tariqasida Windows 7 da PHP 5.4.39 dan foydalanamiz va Web server sifatida Apache 2.2.22 dan foydalanamiz.

Siz qilishingiz kerak bo'lgan birinchi narsa - kutubxonalarni nusxalash ssleay32.dll, libeay32.dll, libssh2.dll ular PHP bilan katalogda, Windows tizim katalogida, ya'ni ichida joylashgan C: \ Windows \ System32.

Keyin php_curl.dll kutubxonasini php.ini ga ulang, ya'ni. keyingi qatorni izohdan olib tashlang

Kutubxona ulanmagan

;extension=php_curl.dll

Kutubxona ulangan

Kengaytma=php_curl.dll

Hammasi shunday, Apache-ni qayta ishga tushiring, phpinfo() funksiyasini chaqiring va agar ulanish muvaffaqiyatli bo'lsa, sizda curl bo'limi bo'lishi kerak.


Agar u mavjud bo'lmasa, bu faqat bitta narsani anglatadi: kutubxona yuklanmagan; Buning eng keng tarqalgan sababi yuqoridagi DLL-lar Windows tizim katalogiga ko'chirilmaganligidir.

CURL misoli - ekranda ko'rsatish uchun masofaviy sahifani so'rash

Bu misolda biz shunchaki GET usuli yordamida HTTP orqali masofaviy sahifani so'raymiz va uning mazmunini ekranda ko'rsatamiz.

Bizda 2 ta PHP fayli mavjud test katalogimiz bor: test_curl.php va test.php, bu yerda test_curl.php biz curl ishlatadigan skript va test.php biz chaqiradigan masofaviy skriptdir. Men kodni batafsil izohladim.

test_curl.php kodi

Kod test.php

Sarlavha 1"; tanaffus; 2-holat: aks-sado "<Н2>Sarlavha 2"; tanaffus; 3-holat: aks-sado "<Н3>Sarlavha 3"; tanaffus; ) ?>

Natijada, agar siz test_curl.php ni ishga tushirsangiz, ekranda “1-sarlavha” xabarini ko'rasiz, siz id parametrlarini o'tkazish bilan tajriba qilishingiz mumkin ( bu holda 2 yoki 3).

CURL misoli - masofaviy skriptni chaqirish va natijani olish

Endi skriptni chaqirishga va natijani olishga harakat qilaylik, uni keyinroq qayta ishlash uchun, masalan, POST usulidan foydalanamiz. Keling, fayl nomlarini bir xil qoldiramiz.

test_curl.php kodi

Kod test.php

Va agar test_curl.php ni ishga tushirsak, u holda ekranda 111 ko'rsatiladi, ya'ni. 1.11 masofaviy skriptga kirish natijasida olingan, 100 ga ko'paytiriladi.

Endi funksiyalar va ularning konstantalari haqida gapiraylik.

Ko'p ishlatiladigan CURL funktsiyalari va konstantalari

  • curl_init - seansni ishga tushiradi;
  • curl_close - seansni yopadi;
  • curl_exec - so'rovni bajaradi;
  • curl_errno - xato kodini qaytaradi;
  • curl_setopt - seans uchun parametrni o'rnatadi, masalan:
    • CURLOPT_HEADER – 1 qiymati sarlavhalar qaytarilishi kerakligini bildiradi;
    • CURLOPT_INFILESIZE - kutilayotgan fayl hajmini belgilash parametri;
    • CURLOPT_VERBOSE - qiymati 1 CURL bajarilgan barcha operatsiyalar haqida batafsil xabarlarni ko'rsatishini bildiradi;
    • CURLOPT_NOPROGRESS – operatsiyaning borishi indikatorini o‘chiradi, 1-qiymat;
    • CURLOPT_NOBODY - agar sizga hujjat kerak bo'lmasa, faqat sarlavhalar kerak bo'lsa, qiymatni 1 ga qo'ying;
    • CURLOPT_UPLOAD - faylni serverga yuklash uchun;
    • CURLOPT_POST – so‘rovni POST usuli yordamida bajarish;
    • CURLOPT_FTPLISTONLY — FTP server katalogidagi fayllar ro'yxatini olish, qiymati 1;
    • CURLOPT_PUT — so'rovni PUT usuli yordamida bajarish, qiymat 1;
    • CURLOPT_RETURNTRANSFER - natijani brauzerga chiqarmasdan qaytarish, qiymati 1;
    • CURLOPT_TIMEOUT – soniyalarda maksimal bajarilish vaqti;
    • CURLOPT_URL - aloqa uchun manzilni ko'rsatish;
    • CURLOPT_USERPWD - foydalanuvchi nomi va parol : shaklida bo'lgan qator;
    • CURLOPT_POSTFIELDS – POST so‘rovi uchun ma’lumotlar;
    • CURLOPT_REFERER - “Referer:” HTTP sarlavhasining qiymatini belgilaydi;
    • CURLOPT_USERAGENT - “User-Agent:” HTTP sarlavhasining qiymatini belgilaydi;
    • CURLOPT_COOKIE — HTTP soʻrovi bilan yuboriladigan “Cookie:” sarlavhasining mazmuni;
    • CURLOPT_SSLCERT - PEM formatidagi sertifikatga ega fayl nomi;
    • CURLOPT_SSL_VERIFYPEER – masofaviy server sertifikatini tekshirishni o‘chirish uchun 0 qiymati (standart 1);
    • CURLOPT_SSLCERTPASSWD — sertifikat fayli uchun parol.
  • curl_getinfo - Operatsiya haqidagi ma'lumotni qaytaradi, ikkinchi parametr aynan nimani ko'rsatish kerakligini ko'rsatish uchun doimiy bo'lishi mumkin, masalan:
    • CURLINFO_EFFECTIVE_URL - oxirgi marta foydalanilgan URL;
    • CURLINFO_HTTP_CODE - oxirgi qabul qilingan HTTP kodi;
    • CURLINFO_FILETIME — yuklangan hujjatni o'zgartirish sanasi;
    • CURLINFO_TOTAL_TIME — operatsiyani bajarish vaqti soniyalarda;
    • CURLINFO_NAMELOOKUP_TIME — server nomini soniyalarda aniqlash vaqti;
    • CURLINFO_CONNECT_TIME — ulanish oʻrnatish uchun sarflangan vaqt, soniyalarda;
    • CURLINFO_PRETRANSFER_TIME — operatsiya boshlanganidan haqiqiy maʼlumotlarni uzatishga tayyor boʻlgunga qadar oʻtgan vaqt, soniyalarda;
    • CURLINFO_STARTTRANSFER_TIME — operatsiya boshlanganidan maʼlumotlarning birinchi bayti uzatilgunga qadar oʻtgan vaqt, soniyalarda;
    • CURLINFO_REDIRECT_TIME — qayta yoʻnaltirishga sarflangan vaqt, soniyalarda;
    • CURLINFO_SIZE_UPLOAD - yuklashda baytlar soni;
    • CURLINFO_SIZE_DOWNLOAD - yuklab olishda baytlar soni;
    • CURLINFO_SPEED_DOWNLOAD - o'rtacha yuklab olish tezligi;
    • CURLINFO_SPEED_UPLOAD - o'rtacha yuklab olish tezligi;
    • CURLINFO_HEADER_SIZE - barcha qabul qilingan sarlavhalarning umumiy hajmi;
    • CURLINFO_REQUEST_SIZE - barcha yuborilgan so'rovlarning umumiy hajmi;
    • CURLINFO_SSL_VERIFYRESULT - CURLOPT_SSL_VERIFYPEER parametrini o'rnatish orqali so'ralgan SSL sertifikatini tekshirish natijasi;
    • CURLINFO_CONTENT_LENGTH_DOWNLOAD - yuklangan hujjat hajmi, Content-Length sarlavhasidan o'qiladi;
    • CURLINFO_CONTENT_LENGTH_UPLOAD - yuklangan ma'lumotlar hajmi;
    • CURLINFO_CONTENT_TYPE - qabul qilingan Kontent tipidagi sarlavhaning mazmuni yoki agar bu sarlavha olinmagan bo'lsa, NULL.

CURL funktsiyalari va ular uchun konstantalar haqida ko'proq ma'lumotni PHP rasmiy veb-saytida topishingiz mumkin -

c URL ma'lumotlarni serverdan yoki serverga uzatish uchun juda foydali buyruq qatori vositasidir. Curl FILE, HTTP, HTTPS, IMAP, IMAPS, LDAP, DICT, LDAPS, TELNET, FTPS, GOPHER, RTMP, RTSP, SCP, SFTP, POP3, POP3S, SMB, SMBS, SMTP, SMTPS va TFTP kabi turli protokollarni qo'llab-quvvatlaydi. .

cURL dan turli xil va qiziqarli usullarda foydalanish mumkin. Ushbu vosita yordamida siz fayllarni yuklab olishingiz, yuklashingiz va boshqarishingiz, elektron pochta manzilingizni tekshirishingiz yoki hatto ba'zi ijtimoiy media veb-saytlaridagi holatingizni yangilashingiz yoki tashqaridagi ob-havoni tekshirishingiz mumkin. Ushbu maqolada biz cURL vositasining har qanday qurilmada beshta eng foydali va asosiy ishlatilishini ko'rib chiqamiz.

1. URL manzilini tekshiring

cURL-ning eng keng tarqalgan va eng oddiy qo'llanilishidan biri bu buyruqni o'zi va undan keyin siz sinab ko'rmoqchi bo'lgan URLni chop etishdir.

Curl https://domain.ru

Ushbu buyruq terminalda URL manzilini ko'rsatadi

2. URL chiqishini faylga saqlang

Curl -o veb-sayti https://domain.ru % Qabul qilingan jami % % Xferd O‘rtacha tezlik Vaqt Vaqt Vaqt Joriy yuklash Yuklash Jami sarflangan chap tezlik 100 41793 0 41793 0 0 275k 0 --:--:-- - -:-- :-- --:--:-- 2,9M

Ushbu misolda chiqish joriy ishchi katalogdagi "veb-sayt" nomli faylga saqlanadi.

3. Curl yordamida fayllarni yuklash

Buyruqga -o variantini qo'shish orqali Curl yordamida fayllarni yuklab olishingiz mumkin. U mahalliy serverda fayllarni uzoq serverdagi kabi nomlar bilan saqlash uchun ishlatiladi

Curl -O https://domain.ru/file.zip

Ushbu misolda "file.zip" arxivi joriy ishchi katalogga yuklab olinadi.

cURL ga -o opsiyasini qo'shish orqali boshqa nomdagi faylni ham yuklashingiz mumkin.

Curl -o archive.zip https://domain.ru/file.zip

Shunday qilib, "file.zip" arxivi yuklab olinadi va "Archive.zip" sifatida saqlanadi.

Quyidagi misolda ko'rsatilganidek, cURL bir vaqtning o'zida bir nechta fayllarni yuklab olish uchun ham ishlatilishi mumkin

Curl -O https://domain.ru/file.zip -O https://domain.com/file2.zip

Curl quyidagi buyruq yordamida SSH orqali fayllarni xavfsiz yuklash uchun ham ishlatilishi mumkin

Curl -u foydalanuvchisi sftp://server.domain.ru/path/to/file

Yuklab olmoqchi bo'lgan faylning to'liq yo'lidan foydalanishingiz kerakligini unutmang

4. Veb-saytning HTTP sarlavhasidan ma'lumot oling

Siz cURL-ga -I ('i') opsiyasini qo'shish orqali istalgan veb-saytdan HTTP sarlavhasi ma'lumotlarini osongina olishingiz mumkin.

Curl -I http://domain.ru HTTP/1.1 200 OK Sana: Yakshanba, 16 oktyabr 2016 yil 23:37:15 GMT Server: Apache/2.4.23 (Unix) X-Powered-By: PHP/5.6.24 Ulanish : yopish Content-Type: text/html; charset=UTF-8

5. FTP serveriga kirish

Curl yordamida FTP serveriga kirish uchun quyidagi buyruqdan foydalanishingiz kerak

Curl ftp://ftp.domain.ru --user username:parol

Curl FTP serveriga ulanadi va foydalanuvchining uy katalogidagi barcha fayllar va kataloglarni ro'yxatga oladi

Faylni FTP yordamida yuklab olishingiz mumkin

Curl ftp://ftp.domain.ru/file.zip --user username:parol

va faylni FTP serveriga yuklang

Curl -T file.zip ftp://ftp.domain.ru/ --user username:parol

Barcha mavjud cURL opsiyalarini va uning funksiyalarini ko'rish uchun Curl sahifasini qo'lda tekshirishingiz mumkin

Odam jingalak

PS. Agar sizga ushbu xabar yoqqan bo'lsa, quyidagi tugmalar yordamida ijtimoiy tarmoqlardagi do'stlaringiz bilan baham ko'ring yoki shunchaki sharh qoldiring. Rahmat.

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_setopt — CURL sessiyasi uchun parametrni o'rnatadi

Parametrlar ro'yxati

cURL dastagidan olingan curl_init().

O'rnatilishi kerak bo'lgan parametr CURLOPT_XXX.

Variant parametrining qiymati.

bool:

Parametr Eslatmalar
CURLOPT_AUTOREFERER TO'G'RI maydonni avtomatik sozlash uchun Yo'naltiruvchi: sarlavha tomonidan qayta yo'naltirilgan so'rovlarda Manzil:.
CURLOPT_BINARYTRANSFER TO'G'RI doimiydan foydalanganda xom javobni qaytarish uchun CURLOPT_RETURNTRANSFER. PHP 5.1.3 dan boshlab bu parametr endi talab qilinmaydi: opsiyadan foydalanganda xom mahsulot har doim qaytariladi CURLOPT_RETURNTRANSFER.
CURLOPT_COOKIESESSION TO'G'RI joriy sessiyaga cookie-fayllarning yangi "sessiyasi" ni boshlashga ko'rsatma berish. Bu libcurl oldingi seansdan yuklangan har qanday "sessiya" cookie-fayllarini e'tiborsiz qoldirishiga olib keladi. Odatiy bo'lib, libcurl "sessiya" bo'ladimi yoki yo'qmi, har doim barcha cookie-fayllarni saqlaydi va yuklaydi. "Session" cookie-fayllari muddati tugamaydigan va faqat joriy "sessiya" uchun mavjud bo'lishi kerak bo'lgan cookie-fayllardir.
CURLOPT_CERTINFO TO'G'RI oqim uchun SSL sertifikat ma'lumotlarini chiqarish uchun STDERR xavfsiz ulanishlar bilan. cURL 7.19.1 da qo'shilgan. PHP 5.3.2 dan boshlab mavjud. To'g'ri ishlashi uchun ushbu parametr yoqilishini talab qiladi CURLOPT_VERBOSE.
CURLOPT_CONNECT_ONLY TO'G'RI kutubxonaga kerakli proksi autentifikatsiya va ulanishni sozlashni amalga oshirishni aytadi, lekin ma'lumotlarni uzatmaydi. Ushbu parametr HTTP, SMTP va POP3 uchun amalga oshiriladi. 7.15.2 da qo'shilgan. PHP 5.5.0 dan mavjud.
CURLOPT_CRLF TO'G'RI Unix satr oxirlarini CRLF ga aylantirish uchun.
CURLOPT_DNS_USE_GLOBAL_CACHE TO'G'RI global DNS keshini ishlatish uchun. Ushbu parametr tarmoq uchun xavfsiz emas va sukut bo'yicha yoqilgan.
CURLOPT_FAILONERROR TO'G'RI Agar qabul qilingan HTTP kodi 400 dan katta yoki unga teng bo'lsa, muvaffaqiyatsizlik haqida batafsil hisobot uchun. Standart xatti-harakatlar kodni e'tiborsiz qoldirib, sahifani normal holatga qaytaradi.
CURLOPT_FILETIME TO'G'RI masofaviy hujjatning o'zgartirish sanasini olishga harakat qilish. Bu qiymatni funksiyadan CURLINFO_FILETIME parametri yordamida olish mumkin curl_getinfo().
CURLOPT_FOLLOWLOCATION TO'G'RI har qanday sarlavhaga amal qilish "Manzil: " server tomonidan o'z javobida yuborilgan (bu rekursiv ravishda sodir bo'lishini unutmang, PHP yuborilgan har qanday sarlavhalarni kuzatib boradi. "Manzil: ", doimiy o'rnatilgandan tashqari CURLOPT_MAXREDIRS).
CURLOPT_FORBID_REUSE TO'G'RI ulanishni qayta ishlashni tugatgandan so'ng uni qayta ishlatib bo'lmasligi uchun yopishga majburlash.
CURLOPT_FRESH_CONNECT TO'G'RI keshlangan ulanish o'rniga yangi ulanishdan foydalanishga majburlash.
CURLOPT_FTP_USE_EPRT TO'G'RI faol FTP yuklash uchun EPRT (va LPRT) dan foydalanish. Foydalanish FALSE EPRT va LPRT ni o'chirish va faqat PORT dan foydalanish uchun.
CURLOPT_FTP_USE_EPSV TO'G'RI FTP uzatish paytida EPSV buyrug'ini dastlabki sinovdan o'tkazish uchun. Agar buyruq bajarilmasa, u PASV-ga qaytadi. O'rnatish FALSE EPSVni o'chirish uchun.
CURLOPT_FTP_CREATE_MISSING_DIRS TO'G'RI Agar FTP operatsiyasi mavjud bo'lmagan yo'lga duch kelsa, etishmayotgan kataloglarni yaratish.
CURLOPT_FTPAPPEND TO'G'RI masofaviy faylni mavjud fayl ustiga yozish o'rniga oxirigacha yozish uchun.
CURLOPT_TCP_NODELAY TCP_NODELAY opsiyasi o'rnatilishi yoki tozalanishi kerakligini doimiy ravishda belgilaydi (1 = o'rnatilgan, 0 = tozalangan). Odatiy bo'lib, parametr o'chiriladi. PHP 5.2.1 dan libcurl 7.11.2 yoki undan keyingi versiyalari bilan tuzilgan versiyalar uchun mavjud.
CURLOPT_FTPASCII Taxallus CURLOPT_TRANSFERTEXT. Buning o'rniga foydalaning.
CURLOPT_FTPLISTONLY TO'G'RI FTP katalogidan faqat nomlar ro'yxatini qaytarish uchun.
CURLOPT_HEADER TO'G'RI sarlavhalarni chiqishga kiritish uchun.
CURLINFO_HEADER_OUT TO'G'RI dastagi so'rovlar qatorini kuzatish uchun. PHP 5.1.3 dan boshlab mavjud. Prefiks CURLINFO_ maxsus ishlatiladi.
CURLOPT_HTTPGET TO'G'RI HTTP so'rov usulini GET usuliga qaytarish uchun. GET standart bo'lgani uchun, bu parametr faqat so'rov usuli ilgari o'zgartirilgan bo'lsa kerak bo'ladi.
CURLOPT_HTTPPROXYTUNNEL TO'G'RI belgilangan HTTP proksi-server orqali tunnel qilish.
CURLOPT_MUTE TO'G'RI cURL funktsiyasi xabarlarini butunlay o'chirish uchun. cURL 7.15.5 da olib tashlangan (CURLOPT_RETURNTRANSFER opsiyasidan foydalanish mumkin)
CURLOPT_NETRC TO'G'RI ulanish o'rnatilayotgan masofaviy sayt uchun login va parol uchun ~/.netrc faylini o'qish uchun.
CURLOPT_NOBODY TO'G'RI javob tanasini chiqishdan chiqarib tashlash. So‘rov usuli HEAD ga o‘rnatilgan. Bu sozlamaga oʻzgartirish FALSE uni GET ga qaytarmaydi.
CURLOPT_NOPROGRESS

TO'G'RI cURL o'tkazmalarida progress indikatorini o'chirish uchun.

Izoh:

PHP ushbu parametrni avtomatik ravishda o'rnatadi TO'G'RI, uni faqat disk raskadrovka maqsadida o'zgartiring.

CURLOPT_NOSIGNAL TO'G'RI PHP jarayoniga signal yuboradigan har qanday cURL funksiyasini e'tiborsiz qoldirish. Vaqt tugashi parametrlarining to'g'ri ishlashiga ruxsat berish uchun bu parametr ko'p tarmoqli SAPI'larda sukut bo'yicha yoqilgan.
CURLOPT_POST TO'G'RI muntazam HTTP POST dan foydalanish. Ushbu POST usuli odatdagidan foydalanadi , odatda HTML shakllarida qo'llaniladi.
CURLOPT_PUT TO'G'RI HTTP PUT usuli yordamida faylni yuklab olish uchun. Amaldagi fayl parametrlar yordamida o'rnatilishi kerak CURLOPT_INFILE Va CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER TO'G'RI dan satr sifatida uzatish natijasini qaytarish uchun curl_exec() brauzerga to'g'ridan-to'g'ri chiqish o'rniga.
CURLOPT_SAFE_UPLOAD TO'G'RI prefiksni qo'llab-quvvatlashni o'chirish uchun @ Yuklab olingan fayllar uchun CURLOPT_POSTFIELDS, bu qiymatlar bilan o'tganligini anglatadi @ maydonlar sifatida xavfsiz tarzda uzatilishi mumkin. Prefiks o'rniga siz variantdan foydalanishingiz mumkin CURLFile d. Standart qiymat bilan PHP 5.5.0 da qo'shilgan FALSE. PHP 5.6.0 da u sukut bo'yicha teng bo'ldi TO'G'RI.
CURLOPT_SSL_VERIFYPEER FALSE cURL xost sertifikatini tekshirishni to'xtatish uchun. Tekshiriladigan muqobil sertifikatlar parametr yordamida belgilanishi mumkin CURLOPT_CAINFO yoki parametr tomonidan belgilangan sertifikatlarga ega katalog CURLOPT_CAPATH. Standart TO'G'RI cURL 7.10 versiyasidan beri. Standart tarqatish cURL 7.10 versiyasidan boshlab o'rnatiladi.
CURLOPT_TRANSFERTEXT TO'G'RI FTP uzatish uchun ASCII rejimidan foydalanish. LDAP dan foydalanganda ma'lumotlar HTML o'rniga oddiy matnda qaytariladi. Windows tizimlarida ip STDOUT ikkilik rejimga o'rnatilmaydi.
CURLOPT_UNRESTRICTED_AUTH TO'G'RI qayta yo'naltirish paytida login va parolni yuborishni davom ettirish uchun ( CURLOPT_FOLLOWLOCATION), xost nomi o'zgargan bo'lsa ham.
CURLOPT_UPLOAD TO'G'RI faylni serverga yuklashga tayyorlanish.
CURLOPT_VERBOSE TO'G'RI qo'shimcha ma'lumotlarni ko'rsatish uchun. Chiqishni oqimga yozadi STDERR, yoki parametr tomonidan belgilangan fayl CURLOPT_STDERR.

Quyidagi parametr parametrlari qiymatlari uchun qiymat parametri turdagi bo'lishi kerak butun son:

Parametr Qiymat qiymatini o'rnating Eslatmalar
CURLOPT_BUFFERSIZE Har bir o'qish uchun ishlatiladigan bufer hajmi. Biroq, bu so'rovning bajarilishiga kafolat yo'q. cURL 7.10 da qo'shilgan.
CURLOPT_CLOSEPOLICY Konstantalardan biri CURLCLOSEPOLICY_*.

Izoh:

Ushbu parametr eskirgan, chunki u hech qachon cURL da qo'llanilmagan va ishlamagan.

PHP 5.6.0 da olib tashlangan.
CURLOPT_CONNECTTIMEOUT Ulanishga urinayotganda kutish uchun soniyalar soni. Cheksiz kutish uchun 0 dan foydalaning.
CURLOPT_CONNECTTIMEOUT_MS Ulanishga urinayotganda kutish uchun millisekundlar soni. Cheksiz kutish uchun 0 dan foydalaning. Agar libcurl tizimning standart nom echuvchisi yordamida kompilyatsiya qilingan bo'lsa, u holda ulanish hali ham taym-aut sifatida to'liq soniya kutishdan foydalanadi, minimal ruxsat etilgan vaqt 1 soniya. cURL 7.16.2 versiyasiga qo'shilgan. PHP 5.2.3 dan boshlab mavjud.
CURLOPT_DNS_CACHE_TIMEOUT DNS yozuvlari xotirada saqlanadigan soniyalar soni. Odatiy bo'lib, bu parametr 120 (2 daqiqa).
CURLOPT_FTPSSLAUTH FTP autentifikatsiya usuli (faol rejimda): CURLFTPAUTH_SSL(SSL avval tekshiriladi), CURLFTPAUTH_TLS(TLS avval tekshiriladi) yoki CURLFTPAUTH_DEFAULT(cURL o'zi uchun qaror qiladi). cURL 7.12.2 versiyasiga qo'shilgan.
CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (sukut boʻyicha, CURL qaysi versiyadan foydalanishni tanlaydi), CURL_HTTP_VERSION_1_0 (majburiy HTTP/1.0) yoki CURL_HTTP_VERSION_1_1 (majburiy HTTP/1.1).
CURLOPT_HTTPAUTH

Bitwise operatoridan foydalanishingiz mumkin | (yoki) bir nechta usullarni birlashtirish. Bunday holda, cURL qo'llab-quvvatlanadigan avtorizatsiya usullari uchun serverni so'raydi va eng yaxshisini tanlaydi.

CURLAUTH_ANY taxallus CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE taxallus CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE Faylni masofaviy serverga yuklashda kutilgan fayl hajmi, baytlarda. Shuni esda tutingki, ushbu parametrdan foydalanish boshqa ma'lumotlarning ushbu qiymatdan oshib ketishini to'xtatmaydi, chunki yuborilgan ma'lumotlar natijaga bog'liq CURLOPT_READFUNCTION.
CURLOPT_LOW_SPEED_LIMIT Ma'lumot uzatish tezligining yuqori chegarasi, soniyada baytlarda. Tekshiruv ichida amalga oshiriladi CURLOPT_LOW_SPEED_TIME soniya, shundan so'ng PHP uzatishni juda sekin deb hisoblaydi va uni bekor qiladi.
CURLOPT_LOW_SPEED_TIME O'tkazish tezligi oshmasligi kerak bo'lgan maksimal soniyalar soni CURLOPT_LOW_SPEED_LIMIT, aks holda PHP uzatishni juda sekin deb belgilaydi va uni to'xtatadi.
CURLOPT_MAXCONNECTS Doimiy ulanishlarning maksimal soni. Cheklovga erishilganda, parametr qaysi ulanishni yopish kerakligini aniqlash uchun ishlatiladi. CURLOPT_CLOSEPOLICY.
CURLOPT_MAXREDIRS Qabul qilingan qayta yo'naltirishlarning maksimal soni. Ushbu parametrdan opsiya bilan birga foydalaning CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT Muqobil ulanish porti.
CURLOPT_POSTREDIR Variant yoqilganda HTTP POST usuli qayta ishlanishi kerakmi yoki yoʻqligini koʻrsatish uchun 1 (301 doimiy koʻchirildi), 2 (302 topildi) va 4 (303 boshqasiga qarang) ni oʻz ichiga olgan bit niqobi CURLOPT_FOLLOWLOCATION agar ko'rsatilgan qayta yo'naltirish turi sodir bo'lsa. cURL 7.19.1 da qo'shilgan. PHP 5.3.2 dan beri mavjud.
CURLOPT_PROTOCOLS

Qiymatlarning bit niqobi CURLPROTO_*. Ushbu niqob libcurl tomonidan ishlatiladigan protokollarni cheklaydi. Bu sizga libcurl-ning ko'p sonli protokollar bilan ishlashiga imkon beradi va ma'lum o'tkazmalarning ishlashini faqat ularning kichik to'plami bilan cheklaydi. Odatiy bo'lib, libcurl barcha qo'llab-quvvatlanadigan protokollardan foydalanadi. Shuningdek, parametrga qarang CURLOPT_REDIR_PROTOCOLS.

To‘g‘ri protokol qiymatlari: CURLPROTO_HTTP , CURLPROTO_HTTPS , CURLPROTO_FTP , CURLPROTO_FTPS , CURLPROTO_SCP , CURLPROTO_SFTP , CURLPROTO_TELNET , CURLPROTO_LDAP , CURLPROTO_LDAP , CULDAPSTOLPROTOLE, C URLPROTO_TFTP, CURLPROTO_ALL

CURLOPT_PROXYAUTH Proksi-serverga ulanishda ishlatiladigan HTTP avtorizatsiya usullari. Parametr uchun tavsiflangan bir xil bit niqoblaridan foydalaning CURLOPT_HTTPAUTH. Hozirda proksi avtorizatsiya uchun faqat CURLAUTH_BASIC va CURLAUTH_NTLM qo‘llab-quvvatlanadi. cURL 7.10.7 versiyasiga qo'shilgan.
CURLOPT_PROXYPORT Ulanish amalga oshirilgan proksi-serverning port raqami. Ushbu raqam parametr yordamida ham o'rnatilishi mumkin CURLOPT_PROXY.
CURLOPT_PROXYTYPE CURLPROXY_HTTP (standart) yoki CURLPROXY_SOCKS5 . cURL 7.10 da qo'shilgan.
CURLOPT_REDIR_PROTOCOLS Qiymatlarning bit niqobi CURLPROTO_*. Ushbu bit maskasi libcurl tomonidan qayta yoʻnaltirishda foydalaniladigan protokollarni cheklaydi (parametr yoqilgan holda) CURLOPT_FOLLOWLOCATION). Bu sizga ba'zi uzatishlar uchun qayta yo'naltirishda foydalaniladigan protokollar to'plamini cheklash imkonini beradi. Odatiy bo'lib, libcurl FILE va SCPdan tashqari barcha protokollarni qo'llab-quvvatlaydi. 7.19.4 dan oldingi versiyalarda qayta yo'naltirish istisnosiz barcha protokollar uchun ishlatilgan. Shuningdek, parametr tavsifiga qarang CURLOPT_PROTOCOLS protokol qiymatlari bilan doimiylar ro'yxati uchun. cURL 7.19.4 versiyasiga qo'shilgan.
CURLOPT_RESUME_FROM Etkazish boshlanishi ofset, baytlarda.
CURLOPT_SSL_VERIFYHOST SSL sertifikatida umumiy nom mavjudligini tekshirish uchun 1 dan foydalaning. Umumiy nom mavjudligini va belgilangan xostga mos kelishini tekshirish uchun 2 dan foydalaning. Jangovar muhitda ushbu parametrning qiymati 2 bo'lishi kerak (sukut bo'yicha o'rnatiladi). cURL 7.28.1 da 1 qiymatini qo‘llab-quvvatlash olib tashlandi
CURLOPT_SSLVERSION Konstantalardan biri CURL_SSLVERSION_DEFAULT (0), CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2), CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4), CURL_SSLVERSION_TLSv1_1(5) yoki CURL_SSLVERSION_TLSv1_2 (6).
CURLOPT_TIMECONDITION Parametrlarni talqin qilish usuli CURLOPT_TIMEVALUE. CURL_TIMECOND_IFMODSINCE sahifani faqat parametrda ko'rsatilgan vaqtdan beri o'zgargan bo'lsa qaytarish uchun foydalaning CURLOPT_TIMEVALUE. Agar sahifa o'zgartirilmagan bo'lsa, sarlavha qaytariladi "304 o'zgartirilmagan", bu parametrni nazarda tutadi CURLOPT_HEADER ichida o'rnatilgan TO'G'RI. Qarama-qarshi effekt uchun CURL_TIMECOND_IFUNMODSINCE dan foydalaning. Standart CURL_TIMECOND_IFMODSINCE.
CURLOPT_TIMEOUT cURL funksiyalarini bajarish uchun ruxsat etilgan maksimal soniyalar soni.
CURLOPT_TIMEOUT_MS cURL funksiyalarini bajarish uchun ruxsat etilgan maksimal millisekundlar soni. Agar libcurl oddiy tizim nomini hal qiluvchi yordamida qurilgan bo'lsa, u holda bu ulanish oralig'i baribir ikkinchi yaxlitlash taym-autlaridan foydalanadi, minimal vaqt tugashi bir soniyadan iborat bo'ladi. cURL 7.16.2 versiyasiga qo'shilgan. PHP 5.2.3 dan boshlab mavjud.
CURLOPT_TIMEVALUE 1970 yil 1 yanvardan boshlab soniyalar soni. Bu vaqt parametr tomonidan ishlatiladi CURLOPT_TIMECONDITION. Odatiy bo'lib, CURL_TIMECOND_IFMODSINCE parametri ishlatiladi.
CURLOPT_MAX_RECV_SPEED_LARGE Agar yuklab olish tezligi butun uzatish bo'yicha o'rtacha bu qiymatdan (sekundiga baytlarda ko'rsatilgan) oshsa, yuklab olish o'rtacha tezlikni ushbu parametrdan kamroq yoki unga teng saqlash uchun to'xtatiladi. Odatiy bo'lib, tezlik cheklanmagan.
CURLOPT_MAX_SEND_SPEED_LARGE Agar serverga yuklash butun uzatish davomida o'rtacha bu qiymatdan (sekundiga baytlarda ko'rsatilgan) oshib ketsa, yuklash ushbu parametrdan kamroq yoki unga teng bo'lgan o'rtacha tezlikni saqlash uchun to'xtatiladi. Odatiy bo'lib, tezlik cheklanmagan. cURL 7.15.5 versiyasiga qo'shilgan. PHP 5.4.0 dan boshlab mavjud.
CURLOPT_SSH_AUTH_TYPES Bitmask bir yoki bir nechta konstantalardan iborat: CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. O'rnatish CURLSSH_AUTH_ANY libcurl ulardan birini mustaqil tanlashi uchun. cURL 7.16.1 da qo'shilgan.
CURLOPT_IPRESOLVE Ilovaga xost nomi aniqlanadigan IP manzil turini tanlashga ruxsat beradi. Agar siz IP manzilining bir nechta versiyasidan olingan xost nomidan foydalansangiz, bu zarur. Mumkin qiymatlar bo'lishi mumkin CURL_IPRESOLVE_HAMMA, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6, va sukut bo'yicha CURL_IPRESOLVE_HAMMA. cURL 7.10.8 da qo'shilgan.

Quyidagi parametr parametrlari qiymatlari uchun qiymat parametri turdagi bo'lishi kerak ip:

Parametr Qiymat qiymatini o'rnating Eslatmalar
CURLOPT_CAINFO Tugunlar tekshiriladigan bir yoki bir nechta sertifikatdan iborat fayl nomi. Ushbu parametr faqat bilan birgalikda ishlatilganda mantiqiy bo'ladi CURLOPT_SSL_VERIFYPEER. Mutlaq yo'lni talab qiladi.
CURLOPT_CAPATH Bir nechta CA sertifikatlarini o'z ichiga olgan katalog. bilan birgalikda ushbu parametrdan foydalaning CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE Sarlavha tarkibi "Cookie:", HTTP so'rovida ishlatiladi. Esda tutingki, bir nechta cookie fayllari nuqta-vergul va keyin bo'sh joy bilan ajratiladi (masalan, " meva = olma; rang = qizil")
CURLOPT_COOKIEFILE Cookie-fayllarni o'z ichiga olgan fayl nomi. Bu fayl Netscape formatida yoki faylga yozilgan oddiy HTTP sarlavhalarida bo'lishi kerak. Agar fayl nomi sifatida bo'sh satr uzatilsa, cookie fayllari saqlanmaydi, lekin ularni qayta ishlash hali ham faol bo'ladi.
CURLOPT_COOKIEJAR Joriy uzatishning barcha ichki cookie-fayllari tutqich yopilgandan keyin saqlanadigan fayl nomi, masalan, curl_close chaqirilgandan keyin.
CURLOPT_CUSTOMREQUEST

Buning oʻrniga maxsus soʻrov usuli ishlatilgan "OLING" yoki "BOSH" HTTP so'rovini yuborishda. Bu so'rovlar uchun foydalidir "O'chirish" yoki boshqa kam uchraydigan HTTP so'rovlari. To'g'ri ma'nolar kabi so'zlar bo'ladi "OLING", "POST", "ULANMOQ" va hokazo; bular. Bu yerga butun HTTP so'rov qatorini kiritmang. Masalan, ko'rsatma "Olish /index.html HTTP/1.0\r\n\r\n" noto'g'ri bo'ladi.

Izoh:

Server ushbu turdagi so'rovni qo'llab-quvvatlashiga ishonchingiz komil bo'lmaguningizcha, bu xususiyatdan foydalanmang.

CURLOPT_EGDSOCKET Kabi CURLOPT_RANDOM_FILE, bundan tashqari fayl nomi Entropy Gathering Daemon soketiga o'rnatilgan.
CURLOPT_ENCODING Sarlavha tarkibi "Qabul qilish-kodlash:". Bu so'rovni dekodlash imkonini beradi. Qo'llab-quvvatlanadigan kodlashlar "identifikatsiya", "deflyatsiya" Va "gzip". Agar bo'sh satr uzatilsa, "" , barcha qo'llab-quvvatlanadigan kodlash turlarini o'z ichiga olgan sarlavha yuboriladi. cURL 7.10 da qo'shilgan.
CURLOPT_FTPPORT FTP "PORT" buyrug'i uchun IP-manzilni aniqlash uchun foydalaniladigan qiymat. "PORT" buyrug'i serverga qaysi IP-manzilga ulanishi kerakligini aytadi. Bu IP manzili, xost nomi, tarmoq interfeysi nomi (Unix ostida) yoki standart tizim IP manzilidan foydalanish uchun oddiygina "-" bo'lishi mumkin.
CURLOPT_INTERFACE Foydalanadigan tarmoq interfeysi nomi. Interfeys nomi, IP manzili yoki xost nomi bo'lishi mumkin.
CURLOPT_KEYPASSWD Shaxsiy kalitdan foydalanish uchun parol kerak CURLOPT_SSLKEY yoki CURLOPT_SSH_PRIVATE_KEYFILE. cURL 7.16.1 da qo'shilgan.
CURLOPT_KRB4LEVEL Xavfsizlik darajasi KRB4 (Kerberos 4). Quyidagi qiymatlardan har biri (eng kuchsizdan kuchliga qarab) to'g'ri: "aniq", "xavfsiz", "maxfiy", "xususiy".. Belgilangan satr berilgan qiymatlardan farq qilsa, qiymat ishlatiladi "xususiy". Ushbu parametrni sozlash NULL KRB4 xavfsizligini butunlay o'chirib qo'yadi. Hozirda KRB4 xavfsizligi faqat FTP tranzaksiyalari bilan ishlaydi.
CURLOPT_POSTFIELDS HTTP POST so'rovida uzatiladigan barcha ma'lumotlar. Faylni uzatish uchun fayl nomidan oldin belgilang @ , va shuningdek, faylning to'liq yo'lidan foydalaning. Fayl turini format yordamida ham belgilash mumkin " ;type=mimetype" fayl nomidan keyin. Bu parametr url kodlangan qator sifatida uzatilishi mumkin, masalan " para1=val1¶2=val2&...", va massiv ko'rinishida, uning kalitlari maydonlarning nomlari va qiymatlari ularning mazmuni bo'ladi. Agar qiymat massiv bo'lsa, sarlavha Tarkib turi ga o'rnatiladi ko'p qismli/shakl-ma'lumotlar. PHP 5.2.0 dan boshlab, prefiksli fayllarni uzatishda @ , qiymat massiv bo'lishi kerak. PHP 5.5.0 dan boshlab, prefiks @ eskirgan va fayllar yordamida yuborilishi mumkin CURLFile. Prefiks @ bilan boshlanadigan qiymatlarga ruxsat berish uchun o'chirib qo'yish mumkin @ variantni o'rnatish orqali CURLOPT_SAFE_UPLOAD ma'nosida TO'G'RI.
CURLOPT_PROXY HTTP proksi-server orqali so'rovlar yo'naltiriladi.
CURLOPT_PROXYUSERPWD Shaklda yozilgan login va parol ":" , proksi-server orqali ulanishda ishlatiladi.
CURLOPT_RANDOM_FILE SSL uchun tasodifiy sonlar generatorini ishga tushirish uchun foydalaniladigan fayl nomi.
CURLOPT_RANGE Yuklab olinadigan ma'lumotlar diapazoni, formatda "X-Y", va X yoki Y qoldirilishi mumkin. HTTP protokoli shuningdek vergul bilan ajratilgan bir nechta diapazonlarni uzatishni qo'llab-quvvatlaydi, ular formatda ko'rsatilgan. "X-Y, N-M".
CURLOPT_REFERER Sarlavha tarkibi "Yo'naltiruvchi:", bu HTTP so'rovida ishlatiladi.
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 32 oʻn oltilik raqamdan iborat qator. Satr masofaviy kompyuterning umumiy kalitining MD5 nazorat summasi bo'lishi kerak va libcurl nazorat yig'indisi umumiy kalitga to'g'ri kelguncha masofaviy xost bilan ulanishni tiklaydi. Ushbu parametr faqat SCP va SFTP yordamida ma'lumotlarni uzatish uchun mo'ljallangan. cURL 7.17.1 da qo'shilgan.
CURLOPT_SSH_PUBLIC_KEYFILE Ochiq kalitingiz uchun fayl nomi. Agar ko'rsatilmagan bo'lsa, HOME muhit o'zgaruvchisi o'rnatilgan bo'lsa, libcurl sukut bo'yicha $HOME/.ssh/id_dsa.pub fayliga va HOME muhit o'zgaruvchisi o'rnatilmagan bo'lsa, joriy katalogdagi "id_dsa.pub" fayliga o'rnatiladi. cURL 7.16.1 da qo'shilgan.
CURLOPT_SSH_PRIVATE_KEYFILE Shaxsiy kalitingiz uchun fayl nomi. Agar ko'rsatilmagan bo'lsa, HOME muhit o'zgaruvchisi o'rnatilgan bo'lsa, libcurl sukut bo'yicha $HOME/.ssh/id_dsa fayliga va HOME muhit o'zgaruvchisi o'rnatilmagan bo'lsa, joriy katalogdagi "id_dsa" fayliga o'rnatiladi. Agar fayl parol bilan himoyalangan bo'lsa, parolni foydalanib o'rnating CURLOPT_KEYPASSWD. cURL 7.16.1 da qo'shilgan.
CURLOPT_SSL_CIPHER_LIST SSL uzatishda ishlatiladigan shifrlar ro'yxati. Masalan, RC4-SHA Va TLSv1 to'g'ri shifrlangan ro'yxatlardir.
CURLOPT_SSLCERT To'g'ri formatlangan PEM sertifikatiga ega fayl nomi.
CURLOPT_SSLCERTPASSWD Sertifikatdan foydalanish uchun parol kerak CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE Sertifikat formati. Qo'llab-quvvatlanadigan formatlar "PEM"(standart), "DER" Va "ENG". cURL 7.9.3 versiyasiga qo'shilgan.
CURLOPT_SSLENGINE Parametrda ko'rsatilgan SSL shaxsiy kaliti uchun shifrlash mexanizmi identifikatori CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT Assimetrik shifrlash operatsiyalari uchun ishlatiladigan shifrlash mexanizmining identifikatori.
CURLOPT_SSLKEY SSL shaxsiy kalit faylining nomi.
CURLOPT_SSLKEYPASSWD

Parametr tomonidan ko'rsatilgan SSL shaxsiy kalitidan foydalanish uchun zarur bo'lgan maxfiy parol CURLOPT_SSLKEY.

Izoh:

Ushbu parametr qimmatli parolni o'z ichiga olganligi sababli, ushbu PHP skriptini xavfsiz joyda saqlashni unutmang.

CURLOPT_SSLKEYTYPE Parametrda ko'rsatilgan SSL shaxsiy kaliti turi CURLOPT_SSLKEY. Quyidagi asosiy turlar qo'llab-quvvatlanadi: "PEM"(standart), "DER" Va "ENG".
CURLOPT_URL Yuklab olinadigan URL. Ushbu parametr seansni ishga tushirishda ham o'rnatilishi mumkin curl_init().
CURLOPT_USERAGENT Sarlavha tarkibi "Foydalanuvchi-agent:", HTTP so'rovida yuborilgan.
CURLOPT_USERPWD Ulanish vaqtida ishlatiladigan login va parol formatda ko'rsatilgan ":" .

Quyidagi parametr parametrlari uchun qiymat parametri massiv bo'lishi kerak:

Parametr Qiymat qiymatini o'rnating Eslatmalar
CURLOPT_HTTP200ALIASES Noto'g'ri javoblar emas, balki to'g'ri javob sifatida ko'rib chiqiladigan HTTP 200 javoblar to'plami. cURL 7.10.3 versiyasiga qo'shilgan.
CURLOPT_HTTPHEADER Format massividagi HTTP sarlavhalari majmuasi ("Tarkib turi: matn/tozalik", "Kontent uzunligi: 100")
CURLOPT_POSTQUOTE FTP so'rovi bajarilgandan so'ng serverda bajariladigan FTP buyruqlar majmuasi.
CURLOPT_QUOTE FTP so'rovini yuborishdan oldin serverda bajariladigan FTP buyruqlar majmuasi.

Quyidagi parametr parametrlari qiymatlari uchun qiymat parametri oqim tutqichi bo‘lishi kerak (masalan, funksiya tomonidan qaytariladi) fopen()):

Parametr Qiymat qiymatini o'rnating
CURLOPT_FILE O'tkazish natijasi yoziladigan fayl. Standart chiqish oqimi STDOUT(brauzer oynasi).
CURLOPT_INFILE Serverga yuklanganda ma'lumotlar o'qilishi kerak bo'lgan fayl.
CURLOPT_STDERR Xato oqimi oʻrniga ishlatiladigan muqobil xato chiqish fayli STDERR.
CURLOPT_WRITEHEADER Joriy operatsiya sarlavhalari yoziladigan fayl.

Quyidagi parametr parametrlari qiymatlari uchun qiymat parametri yaroqli funksiya nomi yoki yopilishi boʻlishi kerak:

Parametr Qiymat qiymatini o'rnating
CURLOPT_HEADERFUNCTION Qayta qo'ng'iroq qilish funktsiyasi ikkita parametrni oladi. Birinchi parametr - cURL tutqichi, ikkinchi parametr - yoziladigan sarlavhalarni o'z ichiga olgan satr. Sarlavhalar ushbu qayta qo'ng'iroq funksiyasidan foydalanib yozilishi kerak. Yozilgan baytlar sonini qaytarish kerak.
CURLOPT_PASSWDFUNCTION Qayta qo'ng'iroq qilish funktsiyasi uchta parametrni oladi. Birinchi parametr - cURL tutqichi, ikkinchi parametr - parol so'rash qatori va uchinchi parametr - maksimal parol uzunligi. Parolni o'z ichiga olgan qatorni qaytarish kerak.
CURLOPT_PROGRESSFUNCTION

Qayta qo'ng'iroq qilish funktsiyasi beshta parametrni oladi. Birinchisi - cURL identifikatori, ikkinchisi - serverdan yuklab olinishi kutilayotgan baytlarning umumiy soni, uchinchisi - allaqachon yuklab olingan baytlar soni, to'rtinchisi - serverga yuborilishi kutilayotgan baytlarning umumiy soni va beshinchisi - allaqachon yuborilgan baytlar soni.

Izoh:

Qayta qo'ng'iroq qilish funktsiyasi faqat variant mavjud bo'lsa chaqiriladi CURLOPT_NOPROGRESS qiymatga sozlang FALSE.

Transferni bekor qilish uchun nolga teng bo'lmagan qiymatni qaytarishingiz mumkin. Bunday holda xato ko'rsatiladi CURLE_ABORTED_BY_CALL BACK.

CURLOPT_READFUNCTION Qayta qo'ng'iroq qilish funktsiyasi uchta parametrni oladi. Birinchi parametr cURL tutqichi, ikkinchi parametr opsiya orqali cURL ga uzatiladigan oqim resursidir. CURLOPT_INFILE, va uchinchi parametr - o'qish uchun ruxsat etilgan maksimal ma'lumotlar miqdori. Qayta qo'ng'iroq qilish funktsiyasi so'ralgan ma'lumotlar miqdoridan ko'p bo'lmagan uzunlikdagi satrni qaytarishi kerak, odatda uzatilgan oqim manbasidan o'qish orqali. Fayl tugashini bildirish uchun bo'sh satrni qaytarish kerak EOF.
CURLOPT_WRITEFUNCTION Qayta qo'ng'iroq qilish funktsiyasi ikkita parametrni oladi. Birinchi parametr cURL tutqichi, ikkinchi parametr esa yozilishi kerak bo'lgan ma'lumotlarni o'z ichiga olgan satrdir. Ushbu funktsiya yordamida ma'lumotlarni saqlash kerak. U yozilgan baytlarning aniq sonini qaytarishi kerak, aks holda yuklab olish xatolik bilan to'xtatiladi.

Boshqa ma'nolari:

Qaytish qiymatlari

Qaytadi TO'G'RI muvaffaqiyatli tugatilgandan so'ng yoki FALSE xato bo'lgan taqdirda.

O'zgarishlar ro'yxati

Versiya Tavsif
5.6.0 Variant CURL_SAFE_UPLOAD endi standart qiymatga ega TO'G'RI.
5.6.0 O'chirilgan variant CURLOPT_CLOSEPOLICY va unga bog'liq ma'nolar.
5.5.0 cURL resursi qayta qo'ng'iroq qilish funktsiyasiga birinchi argument sifatida qo'shiladi CURLOPT_PROGRESSFUNCTION.
5.5.0 Qo'shilgan variant CURLOPT_SHARE.
5.3.0 Qo'shilgan variant CURLOPT_PROGRESSFUNCTION.
5.2.10 Qo'shilgan variantlar CURLOPT_PROTOCOLS Va CURLOPT_REDIR_PROTOCOLS.
5.1.0 Qo'shilgan variantlar CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH Va CURLOPT_TIMECONDITION.
5.0.0 Qo'shilgan variantlar CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE Va CURLOPT_HTTP200ALIASES.

Misollar

1-misol CURL seansini ishga tushirish va veb-sahifani yuklash

// yangi cURL resursini yarating
$ch = curl_init();

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = massiv("name" => "Foo" , "fayl" => "@/home/user/test.png" );

Curl_setopt($ch, CURLOPT_URL, "http://localhost/upload.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $ma'lumotlar);

Curl_exec($ch);
?>

Ushbu misolni ishga tushirish natijasi:

Massiv ( => Foo) Massiv ( => Massiv ( => test.png => image/png => /tmp/phpcpjNeQ => 0 => 279))

Eslatmalar

Izoh:

Massivni o'tkazish CURLOPT_POSTFIELDS sifatida ma'lumotlarni kodlaydi ko'p qismli/shakl-ma'lumotlar, holbuki URL-kodlangan satrni o'tkazish ma'lumotlarni shunday kodlaydi ilova/x-www-form-urlencoded.

CURL - bu URL sintaksisi yordamida ma'lumotlarni qabul qilish yoki yuborish uchun buyruq qatori vositasi.

Agar siz yordam stolida ishlasangiz, veb-ilovalardagi muammolarni bartaraf etish uchun cURL buyruqlaridan foydalanishingiz kerak. cURL - bu Windows, MAC va UNIX uchun platformalararo yordamchi dastur.
Quyida tez-tez ishlatiladigan sintaksis misollari keltirilgan.

1. URL manzilni ulash mumkinligini tekshiring

Agar siz UNIX tizimida bo'lsangiz va tashqi URL manziliga ulanishga harakat qilsangiz, avval manbaga curl orqali kirishingiz mumkinligini tekshiring. Buning uchun quyidagi buyruqdan foydalaning:

# curl yoururl.com

2. URL/URI chiqishini faylga saqlash

# curl yoururl.com > yoururl.html

Masalan:

# curl 74.125.68.100 >/tmp/google.html

Yuqoridagi misol 74.125.68.100 xostidagi barcha tarkibni /tmp/google.html fayliga saqlaydi.

3. So'rov va javob sarlavhasini ko'rsatish

Agar kutilgan so'rov va javob sarlavhasini olganingizga ishonch hosil qilishni istasangiz, quyidagi buyruqdan foydalaning:

# curl -v yoururl.com

Masalan:

# curl -v 74.125.68.100 * 74.125.68.100 portiga () 80 (#0) ulanishi haqida / HTTP/1.1 > Foydalanuvchi agenti: curl/7.29.0 > Xost: 74.125.68.100 > Qabul qilish: */* >< HTTP/1.1 200 OK

4. Maksimal tezlikda yuklab oling

Agar ma'lum bir tezlikda yuklab olish uchun qancha vaqt kerakligini bilmoqchi bo'lsangiz, quyidagi buyruqdan foydalaning:

# curl --limit-rate 2000B

Masalan:

# curl --limit-rate 2000B 74.125.68.100

5. Ulanish uchun proksi-serverdan foydalanish

Agar proksi-serverdan foydalanish mumkinligini tekshirish kerak bo'lsa, quyidagi sintaksisdan foydalaning:

# curl --proxyyourproxy:port http://yoururl.com

6. Sarlavha kiritish orqali URL manzilini tekshirish

Muayyan muammoni hal qilish uchun siz ma'lumotlaringizni sarlavhaga kiritish uchun Curl-dan foydalanishingiz mumkin. Content-Type bilan quyidagi misol so'rovini ko'rib chiqing:

# curl --header "Tarkib turi: application/json" http://yoururl.com

Biz curl-dan Content-Type-ni so'rov sarlavhasida ilova/json sifatida o'tkazishni so'raymiz.

7. Qo'shimcha sarlavha qo'shing

-header sintaksisi yordamida so'rovga sarlavha qo'shishingiz mumkin.

# curl --sarlavha "X-CustomHeader: GeekFlare" http://yoururl.com

Masalan:

# curl -v --header "X-CustomHeader: GeekFlare" 74.125.68 * 74.125.68.100 portiga 80 (#0) ulanishi haqida 68.100) port 80 (#0) > GET / HTTP/1.1 > Foydalanuvchi agenti: curl/7.29.0 > Xost: 74.125.68.100 > Qabul qilish: */* > X-CustomHeader: GeekFlare >< HTTP/1.1 200 OK

8. Faqat javob sarlavhasini oching

Agar javob sarlavhasini tezda tekshirishni istasangiz, buning uchun quyidagi sintaksisdan foydalanishingiz mumkin.

# curl --head http://yoururl.com

# curl -I 74.125.68.100 HTTP/1.1 200 OK Sana: Yakshanba, 18 Yanvar 2015 08:31:22 GMT muddati tugaydi: -1 Kesh-nazorat: xususiy, max-age=0 Kontent turi: matn/html; charset=ISO-8859-1 Set-Cookie: NID=67=SpnXKTDUhw7QGakIeLxmDSF; tugaydi = Dushanba, 20-iyul-2015 08:31:22 GMT; yo'l=/; domen=.; HttpOnly P3P: CP="Bu P3P siyosati emas! Batafsil ma'lumot uchun http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 ga qarang." Server: gws X-XSS-Himoya: 1; mode=block X-Frame-Options: SAMEORIGIN Alternativ-protokol: 80:quic,p=0.02 Transfer-kodlash: bo‘laklangan Qabul qilish oralig‘i: yo‘q O‘zgaruvchan: Qabul qilish-kodlash #

9. HTTPS/SSLURL manzilini ulang va SSL sertifikati xatolariga e'tibor bermang

Xost nomi nomuvofiqligi sababli sertifikat xatosini keltirib chiqaradigan https URL manziliga kirishingiz kerak bo'lsa, quyidagi sintaksisdan foydalanishingiz mumkin.

curl - ishonchsiz https://yoururl.com

10. Muayyan protokol (SSL/TLS) yordamida ulanish

Faqat SSL V2/V3 yoki TLS yordamida URL manziliga ulanish uchun quyidagi sintaksisdan foydalaning.

SSLV2 yordamida ulanish uchun:

# curl --sslv2 https://yoururl.com

SSLV3 yordamida ulanish uchun:

# curl --sslv3 https://yoururl.com

TLS orqali ulanish uchun:

# curl --tlsv1 https://yoururl.com

11. Faylni FTP serveridan yuklang

cURL-dan foydalanib, foydalanuvchi nomi va parolni taqdim etish orqali ftp serveridan faylni yuklab olishingiz mumkin.

# curl -u foydalanuvchi:parol -O ftp://ftpurl/style.css

Batafsil rejimda chiqish uchun har qanday sintaksis bilan har doim "-v" dan foydalanishingiz mumkin.

cURL-dan onlayn foydalanish

Ha mumkin. Quyidagi vositalar yordamida cURL ni masofadan turib bajarishingiz mumkin.
Onlayn CURL onlayn URL-manzilni ajratib olish va quyidagi parametrlarni qo'shish uchun ixcham vositadir.

Ulanish vaqti tugashi --cookie --ma'lumotlar --header --head --joy --max-time --proxy --request --user --url --user-agent

Chiqish misoli:

cURL buyruq qatori yaratuvchisi - foydalanuvchi interfeysiga ma'lumot kiritish uchun foydalanishingiz mumkin bo'lgan cURL buyrug'ini yaratishga imkon beradi.

Sizga maqola yoqdimi? Do'stlaringizga ulashing: