ΠΡΠ½ΠΈΠ΅Π» 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