gpt4 book ai didi

lua - 使用lua发送获取网站

转载 作者:行者123 更新时间:2023-12-02 09:56:39 25 4
gpt4 key购买 nike

我在使用 lua 时遇到了问题。

我需要通过 GET 向网站发送请求并从网站获取响应。

我所拥有的 Atm 就是这个:

local LuaSocket = require("socket")
client = LuaSocket.connect("example.com", 80)
client:send("GET /login.php?login=admin&pass=admin HTTP/1.0\r\n\r\n")
while true do
s, status, partial = client:receive('*a')
print(s or partial)
if status == "closed" then
break
end
end
client:close()

我应该怎么做才能从服务器获取响应?

我想向该网站发送一些信息并获取页面结果。

有什么想法吗?

最佳答案

这可能不起作用,因为 *a 将在连接关闭之前读取数据,但在这种情况下,客户端不知道要读取多少内容。您需要做的是逐行读取并解析 header 以找到 Content-Length,然后在看到两个行尾后读取指定的字节数(如 Content-Length 中设置)。

您不需要自己完成所有这些工作(读取和解析 header 、处理重定向、100 继续等等),socket.http 将为您处理所有这些复杂性。尝试这样的事情:

local http = require("socket.http")
local body, code, headers, status = http.request("https://www.google.com")
print(code, status, #body)

关于lua - 使用lua发送获取网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24575504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com