I want to use my pc as a proxy. So far I’ve got luasocket installed and I am able to receive (and send back) http requests from and to Roblox.
The problem is that I am unable to get the body. All the server (my computer) receives is POST / HTTP/1.1, however when it times out, it (used to) print pretty much all the content sent by Roblox
Server code (luasocket)
-- // Requiring services and stuff here + the SecurityKey, which I did not include
local function HandleRequestSuccess(client, err)
if err then
print(err)
client:send("HTTP/1.1 400 Bad Request\r\nContent-type: text/plain\r\n\r\n"..err.."\r\n")
end
return not err
end
local function HandleClient(client)
-- Read and process data from the client
local line, err = client:receive()
local Success = HandleRequestSuccess(client, err)
if not Success then return end
local Data = {}
while line do print(line)
client:send("HTTP/1.1 100 Continue\r\n\r\n")
local a = string.find(line,": ",1,true)
if a then
local Index = string.sub(line,1,a -1)
local Value = string.sub(line,a + 2)
print(Value)
Data[Index] = Value
end
local line, err = client:receive("*l")
local Success = HandleRequestSuccess(client, err)
if not Success then return end
end
print("END")
print(json.encode(Data))
if SecurityKey ~= Data["Autorization"] then
client:send("HTTP/1.1 403 Forbidden\r\nContent-type: text/plain\r\n\r\n403 Forbidden\r\n")
return
end
-- Respond to the client
client:send("HTTP/1.1 200 OK\r\nContent-type: application/json\r\n\r\nHello, World!\r\n")
end
local port = 80
local server = assert(socket.bind("*", port))
print("Server listening on port " .. port)
--while true do
local client = server:accept()
if client then
print("Client connected!")
client:settimeout(10)
HandleClient(client)
client:close()
print("Client disconnected.")
server:close()
print("Server closed")
end
--end
At some point I think it was printing out the values, where they are being written to a table
Other thing, using “*a” with client:receive() makes it yeild until it times out (at 2 minutes, if I don’t set the 10 second timeout)
Roblox code
-- // Services and the SecurityKey once again
local Body = HttpService:JSONEncode({1283874238,12934723,1239478})
print(HttpService:RequestAsync({
Url = "http://url.com",
Method = "POST",
Headers = {
["Authorization"] = SecurityKey,
["Content-Type"] = "application/json",
},
Body = Body,
}))
I am wondering if it could be an issue with um, the server not closing properly and that messing up things, but when the code is not running, yougetsignal.com says the port is closed so idk
I’ve looked around, found nothing, asked ChatGPT, it’s useless, documentation about luasocket is scarce, and I don’t really know what the f I am doing lol. I don’t really know how tcp works so yeah, I tried to put some HTTP/1.1 100 Continue send request to get roblox to send the rest of the data??
Anyway, if someone, for some reason, knows how to use luasocket… (or the issue could be unrelated to luasocket)
Please help…