Chcę pobrać stronę i uzyskać wynik w postaci ciągu, ale nie wiem jak to zrobić. Szukam w Internecie i nie znalazłem, jak to zrobić.Lua: Pobranie strony internetowej
Odpowiedz
Po prostu użyłbym Lua Socket, który jest dostarczany z http submodule. Możesz po prostu użyć http.request, aby uzyskać stronę internetową do dowolnego kontenera, który chcesz (domyślnie jest to ciąg znaków, ale możesz użyć tabeli, pliku, stdio, ... używając filtrów ltn12 i pochłaniaczy).
Jako przykład:
local http=require'socket.http'
body,c,l,h = http.request('http://w3.impa.br/~diego/software/luasocket/http.html')
print('status line',l)
print('body',body)
Jeśli nie możesz znaleźć dokładnej biblioteki klienta http, możesz wdrożyć samodzielnie lub zbudować na someone else's work.
W tym łączu, chociaż nazywa się libhttpd, ale autor wyraźnie stwierdza, że można go użyć do wszystkiego. Wygląda na bardziej użyteczne opakowanie wokół gniazd lua.
jeśli nie masz gniazdo (jak ja), ale masz http Library/moduł, a następnie można spróbować to:
http.get("https://nodemcu.readthedocs.io/en/master/en/modules/http/", nil, function(code, data)
if (code != 200) then
print("HTTP request failed")
else
print(code, data)
end
end)
go działa dla mnie
można znaleźć więcej informacji w dokumentach https://nodemcu.readthedocs.io/en/master/en/modules/http/#httpget