Мне нужно скачать для дальнейшего анализа. Свежие файлы докачиваться будут регулярно. Мне не принципиально. Если есть лучший способ, то расскажите. Если можно, с примерами или ссылками.
А стоп, вы ж голый сокет используете. Тогда там посложней процедура, коннектиться надо к export.finam.ru без http:// в начале и без пути в конце, а в GET посылать путь (то что после после export.finam.ru).
Спасибо. Теперь коннектится. Но не качает:
>lua -e "io.stdout:setvbuf 'no'" "trySocket.lua" tcp{client}: 023A8C80 s status partial nil closed >Exit code: 0
На первом же проходе цикла while получаю статус "Closed" и вылетаю
Anton написал: Что видно беглым взглядом: 1) после http: два прямых слэша, а не обратных 2) в GET заголовок Host: обязателен 3) финам не любит автоматизаторов, может потребоваться весьма правдоподобно притворяться браузером.
Спасибо за ответ. 1) исправление слэшей проблему не решило 2) Получаю ошибку в строке "local c = assert(socket.connect(host, 80))" То есть до GET дело не доходит. Нет коннекта к серверу
print("s \t status \t partial") io.output("quotes1.dwn") while true do local s, status, partial = c:receive(2^10) print(s, status, partial) io.write(s or partial) if status == "closed" then break end end
Получаю ошибку: lua: trySocket.lua:5: Valid name, no data record of requested type
Подскажите, знающие люди, я неверно вбиваю host, file, нужно правильно отформатировать путь или в чем-то еще? Пробовал форматировать путем string.format("%q", host).