To get the body of an HTML page by android LuaJ

122 views Asked by At
-- Create a URL object
local url = luajava.newInstance(luajava.bindClass("java.net.URL"), "https://en.wikipedia.org/wiki/London")
local InputStreamReader = luajava.bindClass("java.io.InputStreamReader")
local BufferedReader = luajava.bindClass("java.io.BufferedReader")
local StringBuilder = luajava.bindClass("java.lang.StringBuilder")
-- Open a connection to the URL and get an HttpURLConnection
local urlConnection = url:openConnection()

-- Cast the result to HttpURLConnection
local httpURLConnection = luajava.cast(urlConnection, luajava.bindClass("java.net.HttpURLConnection"))

-- You now have an HttpURLConnection object to work with
-- You can use httpURLConnection to make requests and receive responses

-- For example, sending a GET request:
httpURLConnection:setRequestMethod("GET")
httpURLConnection:connect()

-- Receive a response
local responseCode = httpURLConnection:getResponseCode()
print("Response Code: " .. responseCode)
if responseCode == HttpURLConnection.HTTP_OK then
    local reader = BufferedReader(InputStreamReader(connection:getInputStream()))
    local response = StringBuilder()
    local line

    while true do
        line = reader:readLine()
        if not line then break end
        response:append(line)
    end
    reader:close()

    local html = response:toString()


    local Jsoup = luajava.bindClass("org.jsoup.Jsoup")
    local Document = luajava.bindClass("org.jsoup.nodes.Document")
    local doc = Jsoup:parse(html)
    local content = doc:getElementById("content") 
    local text = content:text()

    print(text)
else
    print("HTTP Request failed with code: " .. responseCode)
end
-- Closing the connection
httpURLConnection:disconnect()

This is a piece of code to get the body text of an HTML page.

local httpURLConnection = luajava.cast(urlConnection, luajava.bindClass("java.net.HttpURLConnection")) - there is no such method(luajava.cast) in luaj. We need to find a way to bring urlConnection to class "HttpURLConnection". Is there any way to resolve this expression in luaj?

0

There are 0 answers