прочитать HTML-страницу в Lua - PullRequest
0 голосов
/ 14 марта 2019

Я хочу прочитать эту страницу, используя Lua https://smart -lab.ru / divnds / index / order_by_t2_date / desc /

Я могу сделать это с помощью Python.Он читает все, что я хочу:

from urllib.request import urlopen
txt=urlopen("https://smart-lab.ru/dividends/index/order_by_t2_date/desc/", timeout=10).readlines()
print(txt)

Но я не могу сделать это с помощью lua:

require "socket"
http = require 'socket.http'
local address = "https://smart-lab.ru/dividends/index/order_by_t2_date/desc/"
local body = http.request(address)

Он печатает только это: enter image description here

Как я могу скачать эту страницу в Lua?Не дубликат этого .

, потому что мой запрос не возвращается ни 301, ни 302

Ответы [ 2 ]

1 голос
/ 14 марта 2019

для https ссылок, необходимо использовать библиотеку ssl, попробуйте этот код:

local https = require('ssl.https')
local url = 'https://smart-lab.ru/dividends/index/order_by_t2_date/desc/'
local resp = {}
local body, code, headers = https.request{ url = url,  sink = ltn12.sink.table(resp) }   
if code~=200 then 
    print("Error: ".. (code or '') ) 
    return 
end
print("Status:", body and "OK" or "FAILED")
print("HTTP code:", code)
print("Response headers:")
if type(headers) == "table" then
  for k, v in pairs(headers) do
    print(k, ":", v)        
  end
end
print( table.concat(resp) )
0 голосов
/ 15 марта 2019

Используя luarocks, вы устанавливаете luasec:

luarocks install luasec

Это тогда позволит вам потребовать ssl.https

luasec зависит от того, установлен ли в вашей системе пакет разработки Openssl. Способ сделать это во многом зависит от вашей ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...