Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: anonym в Dec 22, 2013, 10:43



Титла: curl и wget
Публикувано от: anonym в Dec 22, 2013, 10:43
здравейте, имам въпрос относно curl и wget
как да сваля нещо от линк който се генерира динамично:
http://www.bleepingcomputer.com/download/rkill/dl/10/
това е линка и искам да сваля rkill.exe, от тоя линк:
http://download.bleepingcomputer.com/dl/2517fd12d6e4cee9f4cf1aaf87e1717a/52b6a448/windows/security/security-utilities/r/rkill/rkill.exe
проблемът е че 2517fd12d6e4cee9f4cf1aaf87e1717a/52b6a448/ всеки път е различно...
по принцип като се изчака малко страницата редиректва, ама пак не мога да подкарам curl и wget да дръпнат файла
10х предварително


Титла: Re: curl и wget
Публикувано от: go_fire в Dec 22, 2013, 10:47
С вгет няма да стане. Това е някаква дроб, която ти я генерира отзад. Ама с кърл, ако си добър и си поиграеш със заглавки, няма начин да няма начин да стане. Проблема е, че трябва да разбираш протокола http, което в днешно време е рядкост. Не мога да ти кажа друго, освен да продължаваш и това е.


Титла: Re: curl и wget
Публикувано от: neter в Dec 22, 2013, 11:01
Код
GeSHi (Bash):
  1. wget $(curl -s http://www.bleepingcomputer.com/download/rkill/dl/10/ | grep -m 1 'url=' | cut -d'=' -f4 | cut -d'"' -f1)


Титла: Re: curl и wget
Публикувано от: go_fire в Dec 22, 2013, 11:03
Ей това е Юникс бейби. Една тръба и три команди правят чудеса. Аз мислех някакви варианти с двадесет реда код.


Титла: Re: curl и wget
Публикувано от: 4096bits в Dec 22, 2013, 12:29
Сега остава да разбереш написаното  :D


Титла: Re: curl и wget
Публикувано от: anonym в Dec 29, 2013, 13:33
въпроса ми беше да се ползват само въпросните команди. исках да стане под бозата (без да се ползва grep а аналога му findstr) и да не се ползват минимално външни команди. целта е да си направя файлче, което като се стартира под бозата да дърпа тулчета и антивирусни (http://professor.data.bg/p/files/software/antivirus/ >av_update_c.exe)...
става по следния начин:
с wget
Код:
echo off
if exist index.html del index.html
wget -q http://www.bleepingcomputer.com/download/rkill/dl/10/
findstr /i "rkill.exe'" index.html>rkill.txt
del index.html
setlocal EnableDelayedExpansion
set "_search='>click here</a>.</p>"
set replace=
set "textfile=rkill.txt"
set "newfile=temp.txt"
(for /f "delims=" %%i in ('findstr "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%_search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
echo off & setlocal EnableDelayedExpansion
set "_search=   <p>If the download process does not begin automatically, please <a href"
set replace=
set "textfile=temp.txt"
set "newfile=rkill.txt"
(for /f "delims=" %%i in ('findstr "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%_search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
set /p link=<rkill.txt
set lnk=%link:~2%
del rkill.*
del temp.txt
wget -c -N %lnk%
с cURL
Код:
echo off
curl -# -L -o index.html http://www.bleepingcomputer.com/download/rkill/dl/10
findstr /i "rkill.exe'" index.html>rkill.txt
del index.html
setlocal EnableDelayedExpansion
set "_search='>click here</a>.</p>"
set replace=
set "textfile=rkill.txt"
set "newfile=temp.txt"
(for /f "delims=" %%i in ('findstr "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%_search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
echo off & setlocal EnableDelayedExpansion
set "_search=   <p>If the download process does not begin automatically, please <a href"
set replace=
set "textfile=temp.txt"
set "newfile=rkill.txt"
(for /f "delims=" %%i in ('findstr "^" "%textfile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:%_search%=%replace%!"
echo(!line!
endlocal
))>"%newfile%"
set /p link=<rkill.txt
set lnk=%link:~2%
del rkill.*
del temp.txt
curl -O -C - --connect-timeout 5 -# %lnk%
предполагам че може и да се оптимизира


Титла: Re: curl и wget
Публикувано от: BRADATA в Dec 29, 2013, 15:24
http://windows-powershell-scripts.blogspot.com/2009/06/unix-equivalents-in-powershell.html
Enjoy


Титла: Re: curl и wget
Публикувано от: anonym в Dec 29, 2013, 15:58
http://windows-powershell-scripts.blogspot.com/2009/06/unix-equivalents-in-powershell.html
Enjoy
да, това работи на всички бози... и си идва инсталирано...
идеята ми е да работи на всяка боза без инсталация на външни програми...


Титла: Re: curl и wget
Публикувано от: BRADATA в Dec 29, 2013, 16:13
Честно казано нищо не разбирам....