Сергей (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
web-socket, Не качает, зараза. Помогите разобраться
 
Спасибо большое!
Ушел в изучение  
web-socket, Не качает, зараза. Помогите разобраться
 
Мне нужно скачать для дальнейшего анализа. Свежие файлы докачиваться будут регулярно.
Мне не принципиально. Если есть лучший способ, то расскажите. Если можно, с примерами или ссылками.

socket.http - Где про это почитать?
web-socket, Не качает, зараза. Помогите разобраться
 
В GET пробовал со слэшем и без него отправлять. Как правильно будет?
web-socket, Не качает, зараза. Помогите разобраться
 
Цитата
Anton написал:
Цитата
Сергей написал:
Нет коннекта к серверу
А стоп, вы ж голый сокет используете. Тогда там посложней процедура, коннектиться надо к 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, Не качает, зараза. Помогите разобраться
 
Цитата
Anton написал:
Что видно беглым взглядом:
1) после http: два прямых слэша, а не обратных
2) в GET заголовок Host: обязателен
3) финам не любит автоматизаторов, может потребоваться весьма правдоподобно притворяться браузером.
Спасибо за ответ.
1) исправление слэшей проблему не решило
2) Получаю ошибку в строке "local c = assert(socket.connect(host, 80))"
То есть до GET дело не доходит. Нет коннекта к серверу
web-socket, Не качает, зараза. Помогите разобраться
 
Для анализа нужно скачать кучу файлов с котировками. Делать это вручную нет никакого желания.
Генерить ссылки для скачивания с Финама научился:
http://export.finam.ru/ABRD_180825_180908.txt?market=1&em=82460&code=ABRD&ap...
В хроме успешно качает, то есть сцылко рабочее.

Пытаюсь скомпилить следующий код:

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"

local c = assert(socket.connect(host, 80))
print©

c:send("GET " .. file .. " HTTP/1.0\r\n\r\n")

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).
Страницы: 1
Наверх