web-socket, Не качает, зараза. Помогите разобраться
Пользователь
Сообщений: Регистрация: 29.10.2019
29.10.2019 09:03:54
Спасибо большое! Ушел в изучение
web-socket, Не качает, зараза. Помогите разобраться
Пользователь
Сообщений: Регистрация: 29.10.2019
29.10.2019 08:50:50
Мне нужно скачать для дальнейшего анализа. Свежие файлы докачиваться будут регулярно. Мне не принципиально. Если есть лучший способ, то расскажите. Если можно, с примерами или ссылками.
socket.http - Где про это почитать?
web-socket, Не качает, зараза. Помогите разобраться
Пользователь
Сообщений: Регистрация: 29.10.2019
29.10.2019 08:35:09
В GET пробовал со слэшем и без него отправлять. Как правильно будет?
web-socket, Не качает, зараза. Помогите разобраться
А стоп, вы ж голый сокет используете. Тогда там посложней процедура, коннектиться надо к 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" и вылетаю
web-socket, Не качает, зараза. Помогите разобраться
Пользователь
Сообщений: Регистрация: 29.10.2019
29.10.2019 08:08:49
Цитата
Anton написал: Что видно беглым взглядом: 1) после http: два прямых слэша, а не обратных 2) в GET заголовок Host: обязателен 3) финам не любит автоматизаторов, может потребоваться весьма правдоподобно притворяться браузером.
Спасибо за ответ. 1) исправление слэшей проблему не решило 2) Получаю ошибку в строке "local c = assert(socket.connect(host, 80))" То есть до GET дело не доходит. Нет коннекта к серверу
web-socket, Не качает, зараза. Помогите разобраться
Пользователь
Сообщений: Регистрация: 29.10.2019
29.10.2019 06:27:47
Для анализа нужно скачать кучу файлов с котировками. Делать это вручную нет никакого желания. Генерить ссылки для скачивания с Финама научился:
В хроме успешно качает, то есть сцылко рабочее.
Пытаюсь скомпилить следующий код:
local socket = require("socket") host = "http:\\export.finam.ru/ABRD_180825_180908.txt?market=1&em=82460&code=ABRD&apply=0&df=25&mf=7&yf=2018&from=25.08.2018&dt=08&mt=8&yt=2018&to=08.09.2018&p=1&f=ABRD_180825_180908&e=.txt&cn=ABRD&dtf=4&tmf=3&MSOR=1&mstime=on&mstimever=1&sep=4&sep2=1&datf=10&at=1" file = "ABRD_180825_180908.txt"
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).