Wгет
GNU Wget (или скраћено Wget, бивши Geturl) је компјутерски програм који сакупља садржину са wеб сервера. ГНУ Wгет је као такав део ГНУ пројекта. Име потиче од Wорлд Wиде Wеб и гет. Програм подржава преузимање преко ХТТП-а, ХТТПС-а и ФТП протокола.
Карактеристике овог програма укључују и самостални (рекурзивни) доwнлоад, конверзију линкова за офлајн прегледање ХТМЛ садржаја. Програм поседује подршку за проксије и још много тога. Програм се појавио 1996. у исто време када је популарност Wеб-а доживљавала своју експанзију. То је изазвало широку употребу овог програма међу корисницима Униx-а и ширење примене код већине Линуx дистрибуција. Програм је написан у портабилној верзији C-а. Wгет се са лакоћом може инсталирати на сваком “Униx-оликом” систему и импортовати у бројна окружења која укључују , Мицрософт Wиндоwс, Мац ОС X, ОпенВМС, МорпхОС и АмигаОС.
Програм се користи као основа за графичке програме попут ГWгет за ГНОМЕ Десктоп.
Историја
[уреди | уреди извор]Wгет је наследник Гетурл програма, истог аутора, чији развој је кренуо крајем 1995. Програм је преименован у Wгет након сто је аутор сазнао да постоји Амига програм под именом ГетУРЛ, који је написао Јамес Буртон из АРЕXX-а.
Wгет је својим присуством средином 90-их чинио значајан удео у заступљености међу софтверима намењеним преузимању са wеба. Ни један програм није имао ту могућност поузданог преузимања ни преко ХТТП-а ни ФТП протокола. Ранији програми су само подржавали или ФТП (попут НцФТП и дл[мртва веза]) или су били написани у Перл-у, који у то време још увек није био присутан. Wгет је настао из идеје постојећих програма који је имао за циљ да подржи рад ХТТП-а и ФТП-а и да омогући корисницима издраду користећи постојеће пакете програма присутне у свим Униx системима.
У то време многи корисници Униx-а су имали проблема са изузетно спорим универзитетским и диал-уп Интернет конекцијама. Ово је довело до потребе за програмом за преузимање са интернета (агентом) који може изаћи на крај са периодичним гречкама на мрежи без помоћи присутног оператера.
Карактеристике
[уреди | уреди извор]Робусност
[уреди | уреди извор]Wгет је пројектован како би савладао споре и нестабилне интернет конекције. Уколико се преузимање не обави због губитка везе, Wгет ће аутоматски покушати да настави преузимање и понављаће овај процес све док се датотека не преузме у својој целости. Био је то један од првих клијената (цлиентс) који је користио тада нови Range
ХТТП заглавље за испуњавање ове функције.
Рекурзивно преузимање
[уреди | уреди извор]Wгет може да ради и као wеб цраwлер (веб пописивач) ” узимајући ресурсе повезане са ХТМЛ странама и преузимајући их један за другим. Овај процес се понавља рекурзивно док се све стране не преузму или одређени број страница претходно назначен од стране корисника. Преузете стране се чувају у директоријумској структури сличној оној на серверу. Ово рекурзивно преузимање омогућава копирање дела или целог садржаја веб сајт-а преко ХТТП-а. Линкови у преузетим ХТМЛ странама се могу подесити да показују на локално преузети материјал за оффлине преглед. Када се врши овај вид аутоматског копирања (мирроринг ) веб сајтова, Wгет подржава Роботс Еxцлусион Стандард (искључујући када је опција -e robots=off
активна).
Рекурзивни доwнлоад ради и са ФТП-ом. Тада Wгет позива LIST
команду како би пронашао додатне фајлове за преузимање. Програм понавља ову команду за директорујуме и фајлове под оном у назначеном кореном УРЛ-у. Шкољколики џокери су подржани када се тражи преузимање ФТП-а УРЛ-а.
Када се користи рекурзивно преузимање преко ХТТП-а или ФТП-а, Wгет се може програмирати да испитује времена тиместампс документована времена (тиместампс) локалних и удаљених фајлова (фајлова на серверу). Тиме програм се може подесити тако да преузима само нове фајлове. Ово омогућава лаксе копирање ХТТП-а и ФТП-а сајтова, али се такође сматра неефикасним и склоним грешкама у поређењу са програмима попут рсyнц-а који ради копирање од нуле. С друге стране, Wгет не захтева посебан софтвер на серверској страни за обављање овог задатка.
Неинтерактивност
[уреди | уреди извор]Wгет није интерактиван у том смислу да, једном поктенутм, не тражи подешавање од стране корисника, да не тражи контролу ТТY-а, као и да је у стању да прати процес у засебном фајлу који се накнадно може проверити. Овим, корисник може да покрене Wгет и да се излогује, остављајући програм без надзора. С друге стране, већина графичких или текстуалних корисничких интерфејса веб прегледача захтева од корисника да остане улогован и да изнова мануелно покрене фајлове који су наишли на грешку. Ово се мозе схватити као велика мана у операцијама када се врши трансфер велике количине података.
Портабилност
[уреди | уреди извор]Програм је написан у веома портабилној верзији C-а са минималном зависности од библиотека треће стране. Wгет захтева несто више од C компајлера и БСД-овог интерфејса ТЦП/ИП мреже. Пројектован као Униx програм под капом Униx схелл-а, овај програм је експортован у бројне Униx-олика окружења и системе, укључујући Мицрософт Wиндоwс преко Цyгwин, и Мац ОС X. Такође овај програм постоји и у верзији где су корени овог програма у Мицрософт Wиндоwс-у као један од ГнуWин пакета.
Остале карактеристике
[уреди | уреди извор]- Wгет подржава доwнлоад преко проксија, који су у великој мери распрострањени како би омогућили приступ интернету кроз Фиреwалл-ове компанија, и веома брзо достављају тражени садрзај.
- Користи сталне ХТТП конекције где су оне расположиве.
- ИПв6 је подржан на системима који укључују одговарајуће интерфејсе.
- ССЛ/ТЛС је подржан за енкриптовање преузимања коришћењем ОпенССЛ библиотеке.
- Подаци већи од 2 ГиБ су подржани на 32-битним системима који укључују одговарајући интерфејс.
- Брзина доwнлоад-а мозе бити ограничена како би се избегло прекорачење потрошње.
Коришћење Wгет-а
[уреди | уреди извор]Основно коришћење
[уреди | уреди извор]Основно коришћење ГНУ Wгет-а се састоји из позивања са командне линије, давајући један или више УРЛ-а као аргумент.
# Preuzeti naslovnu stranu sa veb strane example.com u fajl # pod imenom "index.html". wget http://www.example.com/
# Preuzeti Wget-ov izvršni kod sa GNU ftp veb strane. wget ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz
Нешто компликованија употреба укључује аутоматски доwнлоад са већег броја УРЛ-а у директоријску хијерархију.
# Preuzeti *.gif sa veb strane # (globbing, like "wget http://www.server.com/dir/*.gif", only works with ftp) wget -e robots=off -r -l1 --no-parent -A.gif ftp://www.example.com/dir/
# Preuzeti naslovnu stranu sa veb strane example.com, sa pratećim # slikama i kaskadnim stilovima neophodnim za prikazivanje strane, i konvertovati # unutrašnje URL-ove tako da referišu na sadržaj koji je lokalno dostupan. wget -p -k http://www.example.com/
# Preuzeti sve sadržaje sa veb strane example.com wget -r -l 0 http://www.example.com/
Напредни примери
[уреди | уреди извор]Преузети верну копију штампарских грешака у књизи коју је управо купљена, пратити све локалне линкове рекурзивно и учинити фајлове погодним за преглед ван мреже. Користити случајно чекање до 5 секунди између сваког преузимања фајла и уписати резултате приступа у фајл „мyЛог.лог". Ако се јави грешка, покушати поново до највише 7 пута, са 14 секунди паузе између сваког покушаја. (Команда мора бити у једној линији.)
wget -t 7 -w 5 --waitretry=14 --random-wait -m -k -K -e robots=off http://www.oreilly.com/catalog/upt3/errata/ -o ./myLog.log
Прикупити само специфичне линкове који су поређани линија по линија у локалном фајлу "мy_мовиес.тxт". Користити случајно чекање од 0 до 33 секунде између фајлова, и користити 512 килобајта у секунди за бандwидтх тхроттлинг (прописани опсег пригушивања). Када се јави грешка, покушати поново до 22 пута са 48 секунди паузе између сваког покушаја. Послати кориснички агент (ен. усер агент) без праћења или ХТТП реферрер на рестриктиван сајт и игнорисати робот искључења. Поставити све ухваћене фајлове у локални директоријум “мовиес” и прикупити резултате приступа у локални фајл "мy_мовиес.лог". То је добро за преузимање посебних скупова фајлова, а да се не заузима мрежа.
Уместо празног реферера и корисничког агента користити онај стварни, који не изазива поруку “ЕРРОР: 403 Форбидден” од стране рестриктивног сајта. Такође је могуће креирати .wгетрц фајл који задражава неке подразумеване вредности.[1]
wget -t 22 --waitretry=48 --wait=33 --random-wait --referer="" --user-agent="" --limit-rate=512k -e robots=off -o ./my_movies.log -P./movies -i ./my_movies.txt
Да би се дошло до праћених сесија колачићима (цоокиес):
# Koristiti wget da bi se preuzeo sadržaj od strane referera i kolačića. # 1.Uzeti bazični url i sačuvati njegove kolačiće u datoteku. # 2. Uzeti zaštićen sadržaj koristeći skladištene kolačiće. wget --cookies=on --keep-session-cookies --save-cookies=cookie.txt http://first_page wget --referer=http://first_page --cookies=on --load-cookies=cookie.txt --keep-session-cookies --save-cookies=cookie.txt http://second_page
Верна копија и конвертовање ЦГИ-а, АСП-а I ПХП-а и других за претраживање оффлине:
# Kopirajte vebsajt u statičnu kopiju za lokalno pretraživanje. # To znači da će svi linkovi biti promenjeni da bi ukazivali na lokalne fajlove. # Primetiti- html ekstenzija će konvertovati bilo koji CGI, ASP ili PHP generisan fajl u HTML (ili bilo šta drugo ne .html) wget --mirror -w 2 -p --html-extension --convert-links -P <dir> http://www.yourdomain.com
Аутори и ауторска права
[уреди | уреди извор]ГНУ Wгет је написао Хрвоје Никшић, уз допринос других људи, укључујући Дан Харклесс-а, Иан Абботт-а, и Мауро Тортонесси-а. Значајни доприноси су описани у фајлу АУТОРИ, који је укључен у дистрибуцији, док су сви остали документовани у цхангелогс, алсо који је такође укључен уз програм. Wгет је тренутно одржаван од стране Гиусеппе-а Сцривано-а.[2]
Ауторско правно на Wгет припада компанији Фрее Софтwаре Фоундатион, чија политика јесте да да захтева задатке аутроских права за све нетривијалне доприносе ГНУ софтверу.[3]
Лиценца
[уреди | уреди извор]ГНУ Wгет је дистибуиран по правилима ГНУ лиценца, верзија 3 или наредне верзије, са посебним изузетком (еxцептион) који дозвољава дистрибуцију бинарних бројева повезаних са ОпенССЛ библиотеком. Текст тог изузетка прати:
Додатна дозвола по правилима ГНУ ГПЛ верзије 3, секције 7
Ако се модификује овај програм, или било који обухваћени рад, тако што се повеже или комбинује са ОпенССЛ пројектом из ОпенССЛ библиотеке (или модификоване верзије те библиотеке), која садржи делове покривене условима од стране ОпенССЛ или ССЛеаy лиценци, Фрее Софтwаре Фоундатион одобрава додатне дозволе за преношење резултујућег рада. Одговарајући извор (Соурце) за нон-соурце форму такве комбинације би требало да садржи изворни код (соурце цоде) за делове ОпенССЛ-а који су коришћени исто тако као и тај обухваћени рад.
Очекује се да ће услов за изузетак бити уклоњен, чим се Wгет модификује са ГнуТЛС библиотеком (ГнуТЛС) такође у линк.
Документација Wгет-а, у облику Теxинфо упутства за кориснике (рефернце мануал), дистрибуирана од стране ГНУ лиценца, верзија 1.2 или наредне верзије. Ман паге која је обично дистрибуирана на системима попут Униx-а, је аутоматски генерисана из делова Теxинфо приручника и подпада под услове исте лиценце.
Развој
[уреди | уреди извор]Wгет се развио као један отворен начин, обично је дискутовано на јавним маилинг листама
[4], које су праћене од стране како корисника, тако и програмера, о многим одлукама које се тичу дизајна. Извештаји о баг-овима и патцх-овима се преносе на истој листи.
Допринос изворима
[уреди | уреди извор]Најзаступљенија метода за допринос коду Wгет-а и документацију јесте кроз упдате-овање извора у облику текстуалних закрпа који су генерисане од сттране дифф услужног програма (утилитy). Закрпе који покушавају да се укључе у Wгет, подносе се на маилинг листу[4], где их прегледају задужени за одржавање система. Закрпе које прођу испитивање тих задужених се инсталирају у изворе (соурцес). Инструкције за креирање закрпе, као и упутсвта за стилове, су истакнуте на wики страници пројекта.[5]
Изворни код се такође може пратити преко удаљеног складишта версион цонтрол које хостује прерађену историју почевши са 1.5.3 издањем. Складиште користи Базаар.[6] Претходно, користио се Мерцуриал. Пре тога, било је хостовано на Субверсион, а првобитно преко ЦВС.
Издања
[уреди | уреди извор]Када је довољан број функција или исправки багова акумулирало за време развоја, Wгет се представио публици преко ГНУ ФТП сајта и његових копија. Како су га покретали искључиво волонтери, не постоји спољни притисак за његово издање, као ни принђено давање задњих рокова за издање.
Издања су побројана као верзије, у облику мајор.минор[.ревисион], нпр. Wгет 1.11 или Wгет 1.8.2. Повећање главног броја верзије (мајор) представља велике и могуће некомпатибилне промене у понашању Wгет-а, или радикалну промену дизајна кодне основе. Повећање споредног броја верзије (минор) означава нових функција и исправки багова. Нова ревизија (ревисион) назначава издање које, у поређењу са претходним ревизијама, само садржи исправке багова. Ревизија нула је изостављена, што значи да Wгет 1.11 је исто као 1.11.0. Wгет не користи одд-евен релеасе нумбер цонвентион популаризована од стран Линуxа.
Популарне референце
[уреди | уреди извор]Wгет се појављује у остварењу Цолумбиа Пицтурес-а, 2010.године, филму Тхе Социал Нетwорк. Главни лик, који је незванично базиран на коснивачу Фејсбук-а, Марк Зуцкерберг-у, користи Wгет како би прикупио фотографије студената из различитих директоријума стамбеног објекта Универзитета у Хардварду .
Значајна издања
[уреди | уреди извор]Следећа издања представљају значајне прекретнице у развоју Wгет-а. Функције које су поређане поред сваког од издања су измењене ради сажетости, и не представљају свеобухватне информације о издању, које су доступне у фајлу НЕWС који је дистрибуириан са Wгет-ом.[7]
- Гетурл 1.0, издат јануара, 1996, било је прво јавно доступно изадање. Прва објава на енглеском језику може да се прати на групи тхис Усенет неwс постинг Архивирано на сајту Wayback Machine (25. јануар 2020), што се вероватно односи на Гетурл 1.3.4 издатог у јуну.
- Wгет 1.4.0, издат новембра 1996, је прва верзија која користи име Wгет. Такође, то је прво издање које је дистрибуирано под условима ГНУ ГПЛ, за разлику од Гетурла који је дистибуиран у сврху лиценце без гаранције, односно но-wаррантy лиценце.
- 1.4.3, издат фебруара 1997, био је прва верзија која је реализована као део ГНУ пројекта, са ауторским правима приписаним ФСФ-у.
- Wгет 1.5.3, издат септембра 1998, био је прекретница у популарности програма. Ова верзија је била у пакету са бројним ГНУ/Линуx базичним дистрибуцијама, које су представиле програм много широј публици.
- Wгет 1.6, издат децембра 1999, садржао је бројне исправке багова (за тада застарело) 1.5.3 издање, највише захваљујући напору Дан Харклесс-а.
- Wгет 1.8, издат децембра 2001, додао је бандwидтх тхроттлинг, нове индикаторе прогреса, и обилазак хиперлинк графа.
- Wгет 1.9, издат у октобру 2003, садржи експерименталну ИПв6 суппорт, , и могућност постављања (ПОСТ) података на ХТТП сервере.
- Wгет 1.10, издат јуна 2005, представио је велику подршку фајлова, односно ларге филе суппорт, ИПв6 на дуалним фамилијама система, НТЛМ ауторизацију, и ССЛ побољшање. Мауро Тортонеси је главни у одржавању система.
- Wгет 1.11, издат јануара 2008, је пребачен у верзију 3 за ФСФ, и прелиминарно је додата подршка за
Content-Disposition
заглавље (садржај располагања), који обично користе ЦГИ скриптови да би назначили име фајла који се преузима. У ХТТП аутентификационом коду направљена су побољшања у вези сигурности. Партнерство у пројекту узео је и Мицах Цоwан.
- Wгет 1.12, издат септембра 2009, додао је подршку за парсирање УРЛ-ова из ЦСС садржаја на wеб-у, и за Интернатионализед Ресоурце Идентифиерс.
- Wгет 1.13, издат августа 2011, подржава ХТТП/1.1, поправио је неке проблеме преносивости, и користи ГнуТЛС библиотеку за подразумевану сигурносну конекцију.[8]
ГWгет
[уреди | уреди извор]ГWгет је слободан Графички кориснички интерфејс за Wгет. Разио га је Давид Седеñо Фернáндез и до је ГНОМЕ пројекта. ГWгет подржава све основне функције као и Wгет, ас као и паралелна преузимања.[9]
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ Wгет Трицк то Доwнлоад фром Рестрицтиве Ситес
- ^ „WгетМаинтаинер”. 23. 4. 2010. Архивирано из оригинала 24. 07. 2011. г. Приступљено 20. 6. 2010.
- ^ „Wхy тхе ФСФ гетс цопyригхт ассигнментс фром цонтрибуторс - ГНУ Пројецт - Фрее Софтwаре Фоундатион (ФСФ)”. Гну.орг. Приступљено 8. 12. 2012.
- ^ а б „Гмане Лоом”. Неwс.гмане.орг. Архивирано из оригинала 09. 01. 2013. г. Приступљено 8. 12. 2012.
- ^ „ПатцхГуиделинес - Тхе Wгет Wгики”. Wгет.аддицтивецоде.орг. 22. 9. 2009. Приступљено 8. 12. 2012.
- ^ „РепоситорyАццесс”. 22. 5. 2010. Архивирано из оригинала 20. 06. 2010. г. Приступљено 20. 6. 2010.
- ^ „дотсрц.орг :: 404”. Свн.дотсрц.орг. 20. 3. 2005. Архивирано из оригинала 13. 03. 2007. г. Приступљено 8. 12. 2012.
- ^ „Wгет НЕWС филе”. Архивирано из оригинала 07. 01. 2017. г. Приступљено 07. 06. 2013.
- ^ „ГWгет Хоме Паге”. Архивирано из оригинала 16. 07. 2011. г. Приступљено 07. 06. 2013.