Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° wcurl принята Π² состав ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Curl

ДэниСл CΡ‚Π΅Π½Π±Π΅Ρ€Π³ (Daniel Stenberg), Π°Π²Ρ‚ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для получСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти curl, объявил ΠΎ принятии Π² состав ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wcurl. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° wcurl Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ curl, Π½ΠΎ ΠΏΡ€ΠΈ этом Π΅Ρ‘ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, нСзависимо ΠΎΡ‚ curl. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρƒ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· мэйнтСйнСров Debian, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ с curl. Π’ Debian Testing, Debian Unstable ΠΈ Π² бэкпортах Debian 12 ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° wcurl ΡƒΠΆΠ΅ поставляСтся Π² составС ΠΏΠ°ΠΊΠ΅Ρ‚Π° curl. Код ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wcurl написан Π½Π° Shell ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Curl (Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ MIT).

Новая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° прСдставляСт собой обвязку Π½Π°Π΄ curl, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ интСрфСйс для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ запуска ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ wget ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚ нСобходимости Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ спСцифичныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запуска curl (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wget, Ρ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ «curl -L -O -C —remote-time»). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ curl ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° wcurl позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сразу нСсколько ссылок для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ пСрСнаправлСния ΠΈ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² случаС сбоСв.

ВмСсто Π²Ρ‹Π²ΠΎΠ΄Π° Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ wcurl сохраняСт Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° основС содСрТимого ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ссылок ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½Π½ΠΎΠΌ сСрвСром, Π° врСмя измСнСния Ρ„Π°ΠΉΠ»Π° выставляСтся Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сСрвСр Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Last-modified. Если Ρ„Π°ΠΉΠ» с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт, wcurl Π½Π΅ пСрСзаписываСт Π΅Π³ΠΎ, Π° добавляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ссылок, обСспСчиваСтся ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ подстановок «{}» ΠΈ «[]» Π² URL ΠΈ допускаСт использованиС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² ссылках, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ замСняя ΠΈΡ… Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ «%xx». ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΡ†ΠΈΠΈ «—curl-options» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ curl, Π° Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ†ΠΈΡŽ «—dry-run» опрСдСлСния строки для запуска curl Π±Π΅Π· фактичСского выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’ анонсС Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° trurl, созданная Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ curl Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ curl возмоТностями для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈ манипуляции URL. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ trurl ΠΌΠΎΠΆΠ½ΠΎ Π² скриптах быстро Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° ΠΈΠΌΠ΅Π½ΠΈ хоста, страниц ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ссылкС, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ хоста ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΈΠ· ссылки, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ URL Π² Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС элСмСнтов Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON. Код trurl написан Π½Π° C ΠΈ Perl, ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Curl.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru