Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Far Manager (часть 3)

Модерирует : gyra, Maz

articlebot (06-10-2016 09:08): Far Manager  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
local fread=function(f) local h,x = io.open(f,"rb"),nil if h then x=h:read("*all"); io.close(h) end return x end
local fwrite=function(s,tdir,f) s = s or "" local h,x = io.open(tdir..f:gsub('[%?%*"<>|:\\/]','_'),"wb"),nil if h then x=h:write(s); io.close(h) end return x end
local GetPage=function(x) local s0="" if x then s0=io.popen("curl.exe"..x,"rb"):read("*all") end return s0 end
local yadbg=function(x,url,line,tdir) fwrite('loc: '..x..'\nurl: '..url..'\nanswer:\n'..line,tdir,'debug.txt') end
local GetYAD=function(purl,tdir)
  local patt='"mediatype":"compressed",.-,"size":(%d-)},"mtime":(%d-),"utime":%d-,"type":"file","name":"(.-)",.-,"hash":"(.-)"'
  local opt=' -A "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0" -k '
  local line,line0,line1=GetPage(opt..'"'..purl..'"')
  local fsize,ftime,fname,key=line:match(patt)
  if fsize and ftime and fname and key then
    local url='"https://cloud-api.yandex.net/v1/disk/public/resources/download?public_key='..key..'"'
    patt='"href":"(.-)"'
    line=GetPage(opt..url)
    url=line:match(patt)
    if url and #url>20 then
      line1='fname: '..fname..'\nfsize: '..fsize..'\nftime: '..os.date("%d.%m.%y %H:%M:%S",ftime)
      line0=fread(tdir..fname..'.txt')
      if line0 then line0=line0:match("^(.-)\nkey:") else line0="" end
      if line0 and line1~=line0 and #line1>40 then
        patt='Location: (.-)%c'
        line=GetPage(opt..'"'..url..'" -I')
        url=line:match(patt)
        if url and #url>20 then
          line0=line1..'\nkey: '..key..'\npurl: '..purl..'\ndurl: '..url
          line=GetPage(opt..'"'..url..'"')
          if #line>1024 then
            fwrite(line0,tdir,fname..'.txt')
            fwrite(line,tdir,fname)
          else
             yadbg(5,url,line,tdir)
          end
        else
          yadbg(4,url,line,tdir)
        end
      else
        yadbg(3,url,line,tdir)
      end
    else
      yadbg(2,url,line,tdir)
    end
  else
    yadbg(1,url,line,tdir)
  end
end
 
local tdir='C:\\Temp\\'  
GetYAD(arg[1],tdir)
 

Всего записей: 3486 | Зарегистр. 16-06-2007 | Отправлено: 23:22 17-05-2015 | Исправлено: Alexyz21, 20:02 18-05-2015
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Far Manager (часть 3)
articlebot (06-10-2016 09:08): Far Manager


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru