Informacje o wersji
Edukacja
Klasa silnika
HttpService
Brak możliwości tworzenia
Usługa

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Podsumowanie
Właściwości
Metody
GenerateGUID(wrapInCurlyBraces: boolean):string
GetAsync(url: Variant,nocache: boolean,headers: Variant):string
JSONDecode(input: string):Variant
JSONEncode(input: Variant):string
PostAsync(url: Variant,data: string,content_type: Enum.HttpContentType,compress: boolean,headers: Variant):string
Członkowie odziedziczeni
Przykłady kodu
Astronauci w Kosmosie
local HttpService = game:GetService("HttpService")
local URL_ASTROS = "http://api.open-notify.org/astros.json"
-- Wyślij zapytanie do naszego punktu końcowego URL
local response = HttpService:GetAsync(URL_ASTROS)
-- Analizuj odpowiedź JSON
local data = HttpService:JSONDecode(response)
-- Informacje w tabeli danych zależą od odpowiedzi JSON
if data.message == "success" then
print("Aktualnie jest " .. data.number .. " astronautów w kosmosie:")
for i, person in pairs(data.people) do
print(i .. ": " .. person.name .. " jest na " .. person.craft)
end
end
Gdzie jest Międzynarodowa Stacja Kosmiczna?
local HttpService = game:GetService("HttpService")
-- Gdzie jest teraz Międzynarodowa Stacja Kosmiczna?
local URL_ISS = "http://api.open-notify.org/iss-now.json"
local function printISS()
local response
local data
-- Użyj pcall, na wypadek gdyby coś poszło nie tak
pcall(function()
response = HttpService:GetAsync(URL_ISS)
data = HttpService:JSONDecode(response)
end)
-- Czy nasze zapytanie się nie powiodło, czy nasz JSON nie mógł zostać sparsowany?
if not data then
return false
end
-- Dokładnie sprawdź nasze dane pod kątem ważności. To zależy od punktu końcowego, do którego
-- wysyłasz swoje zapytania. W tym przykładzie ten punkt końcowy jest
-- opisany tutaj: http://open-notify.org/Open-Notify-API/ISS-Location-Now/
if data.message == "success" and data.iss_position then
if data.iss_position.latitude and data.iss_position.longitude then
print("Międzynarodowa Stacja Kosmiczna znajduje się obecnie w:")
print(data.iss_position.latitude .. ", " .. data.iss_position.longitude)
return true
end
end
return false
end
if printISS() then
print("Sukces")
else
print("Coś poszło nie tak")
end
Nowy post na Pastebin
local HttpService = game:GetService("HttpService")
local URL_PASTEBIN_NEW_PASTE = "https://pastebin.com/api/api_post.php"
local dataFields = {
-- Klucz dewelopera API pastebina z
-- https://pastebin.com/api#1
["api_dev_key"] = "WYPEŁNIJ TO SWOIM KLUCZEM DEWELOPERA API",
["api_option"] = "paste", -- zachowaj jako "paste"
["api_paste_name"] = "HttpService:PostAsync", -- nazwa wpisu
["api_paste_code"] = "Witaj, świecie", -- zawartość wpisu
["api_paste_format"] = "text", -- format wpisu
["api_paste_expire_date"] = "10M", -- data wygaśnięcia
["api_paste_private"] = "0", -- 0=publiczny, 1=niewidoczny, 2=prywatny
["api_user_key"] = "", -- klucz użytkownika, jeśli pusty, wpisz jako gość
}
-- API pastebina używa ciągu zakodowanego w URL jako danych postu
-- Inne API mogą używać JSON, XML lub innego formatu
local data = ""
for k, v in pairs(dataFields) do
data = data .. ("&%s=%s"):format(HttpService:UrlEncode(k), HttpService:UrlEncode(v))
end
data = data:sub(2) -- Usuń pierwsze &
-- Oto dane, które wysyłamy
print(data)
-- Wykonaj żądanie
local response = HttpService:PostAsync(URL_PASTEBIN_NEW_PASTE, data, Enum.HttpContentType.ApplicationUrlEncoded, false)
-- Odpowiedź będzie zawierać URL do nowego wpisu (lub ciąg błędu, jeśli coś poszło nie tak)
print(response)
Otwórz Cloud za pomocą HttpService
-- Pamiętaj, aby włączyć żądania HTTP w ustawieniach doświadczenia!
local HttpService = game:GetService("HttpService")
local groupId = "your_group_id"
local membershipId = "your_membership_id"
local roleId = "your_role_id"
local function request()
local response = HttpService:RequestAsync({
Url = `https://apis.roblox.com/cloud/v2/groups/{groupId}/memberships/{membershipId}`, -- Aktualizuje członkostwo użytkownika w grupie
Method = "PATCH",
Headers = {
["Content-Type"] = "application/json", -- Przy wysyłaniu JSON, ustaw to!
["x-api-key"] = HttpService:GetSecret("APIKey"), -- Ustawione w Creator Hub
},
Body = HttpService:JSONEncode({ role = `groups/{groupId}/roles/{roleId}` }),
})
if response.Success then
print("Odpowiedź była pomyślna:", response.StatusCode, response.StatusMessage)
else
print("Odpowiedź zwróciła błąd:", response.StatusCode, response.StatusMessage)
end
print("Treść odpowiedzi:\n", response.Body)
print("Nagłówki odpowiedzi:\n", HttpService:JSONEncode(response.Headers))
end
-- Pamiętaj, aby opakować funkcję w 'pcall', aby zapobiec awarii skryptu, jeśli żądanie się nie powiedzie
local success, message = pcall(request)
if not success then
print("Wysłanie żądania Http nie powiodło się:", message)
end

Materiały referencyjne dotyczące interfejsów API
Właściwości
HttpEnabled
Zabezpieczenia użytkowników lokalnych
Odczyt równoległy
Możliwości: Network
HttpService.HttpEnabled:boolean

Metody
CreateWebStreamClient
Możliwości: Network
HttpService:CreateWebStreamClient(
streamClientType:Enum.WebStreamClientType, requestOptions:Dictionary
Parametry
streamClientType:Enum.WebStreamClientType
requestOptions:Dictionary
Przykłady kodu
HttpService CreateWebStreamClient SSE
local HttpService = game:GetService("HttpService")
local URL_GEMINI_SSE = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key="
local geminiSecret = HttpService:GetSecret("gemini_secret") -- Zakłada, że już przesłałeś swój klucz API Gemini jako lokalny sekret
local url_with_secret = geminiSecret:AddPrefix(URL_GEMINI_SSE) -- Pamiętaj, że wtyczki nie mogą uzyskać dostępu do lokalnych sekretów!
local function handleOpen(responseStatusCode, headers)
print("Strumień otwarty z kodem odpowiedzi:", responseStatusCode)
end
local function handleMessage(message)
-- Parsuj wydarzenia w zależności od typu strumienia
print("Odebrana wiadomość strumienia:", message)
end
local function request()
local sse_client = HttpService:CreateWebStreamClient(Enum.WebStreamClientType.RawStream, {
Url = url_with_secret,
Method = "POST",
Headers = {
["Content-Type"] = "application/json", -- Przy wysyłaniu JSON, ustaw to!
},
Body = HttpService:JSONEncode({ contents = { parts = { text ="Jak działa protokół SSE?" }}}),
})
local openConnection = sse_client.Opened:Connect(handleOpen)
local messageConnection = sse_client.MessageReceived:Connect(handleMessage)
sse_client.Closed:Wait()
openConnection:Disconnect()
messageConnection:Disconnect()
end
-- Pamiętaj, aby owinąć funkcję w 'pcall', aby zapobiec awarii skryptu, jeśli żądanie się nie powiedzie
local success, message = pcall(request)
if not success then
print("WebStreamClient nie powiódł się:", message)
end
HttpService CreateWebStreamClient RawStream
local HttpService = game:GetService("HttpService")
local LOCAL_LLM_PORT = "http://localhost:11434/api/generate?stream=true"
local function handleMessage(message)
-- Parsuj zdarzenia w zależności od typu strumienia
-- Jeśli nagłówek Content-Type odpowiedzi jest JSON, możesz go zdekodować w ten sposób:
local json = HttpService:JSONDecode(message)
end
local function handleError(responseStatusCode, errorMessage)
print("Błąd strumienia z kodem odpowiedzi:", responseStatusCode)
end
local function request()
local sse_client = HttpService:CreateWebStreamClient(Enum.WebStreamClientType.RawStream, {
-- Serwer Llama3.2 LLM działający lokalnie przy użyciu Ollama
Url = LOCAL_LLM_PORT,
Method = "POST",
Headers = {
["Content-Type"] = "application/json", -- Podczas wysyłania JSON, ustaw to!
},
Body = HttpService:JSONEncode({ model="llama3.2", prompt ="Opowiedz mi śmieszny dowcip"}),
})
local messageConnection = sse_client.MessageReceived:Connect(handleMessage)
local errorConnection = sse_client.Error:Connect(handleError)
sse_client.Closed:Wait()
messageConnection:Disconnect()
errorConnection:Disconnect()
sse_client:close()
end
-- Pamiętaj, aby owinąć funkcję w 'pcall', aby zapobiec przerwaniu skryptu, jeśli zapytanie się nie powiedzie
local success, message = pcall(request)
if not success then
print("WebStreamClient nie powiódł się:", message)
end

GenerateGUID
Zapis równoległy
HttpService:GenerateGUID(wrapInCurlyBraces:boolean):string
Parametry
wrapInCurlyBraces:boolean
Wartość domyślna: true
Zwroty
Przykłady kodu
HttpService GenerateGUID
local HttpService = game:GetService("HttpService")
local result = HttpService:GenerateGUID(true)
print(result) --> Przykładowe wyjście: {4c50eba2-d2ed-4d79-bec1-02a967f49c58}

GetAsync
Wynik
Możliwości: Network
HttpService:GetAsync(
url:Variant, nocache:boolean, headers:Variant
Parametry
url:Variant
nocache:boolean
Wartość domyślna: false
headers:Variant
Zwroty
Przykłady kodu
Astronauci w Kosmosie
local HttpService = game:GetService("HttpService")
local URL_ASTROS = "http://api.open-notify.org/astros.json"
-- Wyślij zapytanie do naszego punktu końcowego URL
local response = HttpService:GetAsync(URL_ASTROS)
-- Analizuj odpowiedź JSON
local data = HttpService:JSONDecode(response)
-- Informacje w tabeli danych zależą od odpowiedzi JSON
if data.message == "success" then
print("Aktualnie jest " .. data.number .. " astronautów w kosmosie:")
for i, person in pairs(data.people) do
print(i .. ": " .. person.name .. " jest na " .. person.craft)
end
end
Gdzie jest Międzynarodowa Stacja Kosmiczna?
local HttpService = game:GetService("HttpService")
-- Gdzie jest teraz Międzynarodowa Stacja Kosmiczna?
local URL_ISS = "http://api.open-notify.org/iss-now.json"
local function printISS()
local response
local data
-- Użyj pcall, na wypadek gdyby coś poszło nie tak
pcall(function()
response = HttpService:GetAsync(URL_ISS)
data = HttpService:JSONDecode(response)
end)
-- Czy nasze zapytanie się nie powiodło, czy nasz JSON nie mógł zostać sparsowany?
if not data then
return false
end
-- Dokładnie sprawdź nasze dane pod kątem ważności. To zależy od punktu końcowego, do którego
-- wysyłasz swoje zapytania. W tym przykładzie ten punkt końcowy jest
-- opisany tutaj: http://open-notify.org/Open-Notify-API/ISS-Location-Now/
if data.message == "success" and data.iss_position then
if data.iss_position.latitude and data.iss_position.longitude then
print("Międzynarodowa Stacja Kosmiczna znajduje się obecnie w:")
print(data.iss_position.latitude .. ", " .. data.iss_position.longitude)
return true
end
end
return false
end
if printISS() then
print("Sukces")
else
print("Coś poszło nie tak")
end

GetSecret
Zapis równoległy
Możliwości: Network
HttpService:GetSecret(key:string):Secret
Parametry
key:string
Zwroty

JSONDecode
Zapis równoległy
HttpService:JSONDecode(input:string):Variant
Parametry
input:string
Zwroty
Variant
Przykłady kodu
HttpService JSONDecode
local HttpService = game:GetService("HttpService")
local jsonString = [[
{
"message": "sukces",
"info": {
"points": 120,
"isLeader": true,
"user": {
"id": 12345,
"name": "JohnDoe"
},
"past_scores": [50, 42, 95],
"best_friend": null
}
}
]]
local data = HttpService:JSONDecode(jsonString)
if data.message == "sukces" then
-- Ponieważ tab["hello"] i tab.hello są równoważne,
-- możesz także użyć data["info"]["points"] tutaj:
print("Mam " .. data.info.points .. " punkty")
if data.info.isLeader then
print("Jestem liderem")
end
print("Mam " .. #data.info.past_scores .. " wcześniejszych wyników")
print("Wszystkie informacje:")
for key, value in pairs(data.info) do
print(key, typeof(value), value)
end
end

JSONEncode
Zapis równoległy
HttpService:JSONEncode(input:Variant):string
Parametry
input:Variant
Zwroty
Przykłady kodu
HttpService JSONEncode
local HttpService = game:GetService("HttpService")
local tab = {
-- Pamiętaj: te linie są równoważne
--["message"] = "success",
message = "success",
info = {
points = 123,
isLeader = true,
user = {
id = 12345,
name = "JohnDoe",
},
past_scores = { 50, 42, 95 },
best_friend = nil,
},
}
local json = HttpService:JSONEncode(tab)
print(json)

PostAsync
Wynik
Możliwości: Network
HttpService:PostAsync(
url:Variant, data:string, content_type:Enum.HttpContentType, compress:boolean, headers:Variant
Parametry
url:Variant
data:string
Wartość domyślna: "ApplicationJson"
compress:boolean
Wartość domyślna: false
headers:Variant
Zwroty
Przykłady kodu
Nowy post na Pastebin
local HttpService = game:GetService("HttpService")
local URL_PASTEBIN_NEW_PASTE = "https://pastebin.com/api/api_post.php"
local dataFields = {
-- Klucz dewelopera API pastebina z
-- https://pastebin.com/api#1
["api_dev_key"] = "WYPEŁNIJ TO SWOIM KLUCZEM DEWELOPERA API",
["api_option"] = "paste", -- zachowaj jako "paste"
["api_paste_name"] = "HttpService:PostAsync", -- nazwa wpisu
["api_paste_code"] = "Witaj, świecie", -- zawartość wpisu
["api_paste_format"] = "text", -- format wpisu
["api_paste_expire_date"] = "10M", -- data wygaśnięcia
["api_paste_private"] = "0", -- 0=publiczny, 1=niewidoczny, 2=prywatny
["api_user_key"] = "", -- klucz użytkownika, jeśli pusty, wpisz jako gość
}
-- API pastebina używa ciągu zakodowanego w URL jako danych postu
-- Inne API mogą używać JSON, XML lub innego formatu
local data = ""
for k, v in pairs(dataFields) do
data = data .. ("&%s=%s"):format(HttpService:UrlEncode(k), HttpService:UrlEncode(v))
end
data = data:sub(2) -- Usuń pierwsze &
-- Oto dane, które wysyłamy
print(data)
-- Wykonaj żądanie
local response = HttpService:PostAsync(URL_PASTEBIN_NEW_PASTE, data, Enum.HttpContentType.ApplicationUrlEncoded, false)
-- Odpowiedź będzie zawierać URL do nowego wpisu (lub ciąg błędu, jeśli coś poszło nie tak)
print(response)

RequestAsync
Wynik
Możliwości: Network
HttpService:RequestAsync(requestOptions:Dictionary):Dictionary
Parametry
requestOptions:Dictionary
Przykłady kodu
Wysyłanie żądania HTTP
-- Pamiętaj, aby włączyć żądania HTTP w ustawieniach doświadczenia!
local HttpService = game:GetService("HttpService")
local function request()
local response = HttpService:RequestAsync({
Url = "http://httpbin.org/post", -- Ta strona pomaga debugować żądania HTTP
Method = "POST",
Headers = {
["Content-Type"] = "application/json", -- Przy wysyłaniu JSON ustaw to!
},
Body = HttpService:JSONEncode({ hello = "world" }),
})
if response.Success then
print("Kod statusu:", response.StatusCode, response.StatusMessage)
print("Treść odpowiedzi:\n", response.Body)
else
print("Żądanie nie powiodło się:", response.StatusCode, response.StatusMessage)
end
end
-- Pamiętaj, aby owinąć funkcję w 'pcall', aby zapobiec awarii skryptu, jeśli żądanie się nie powiedzie
local success, message = pcall(request)
if not success then
print("Żądanie HTTP nie powiodło się:", message)
end
Otwórz Cloud za pomocą HttpService
-- Pamiętaj, aby włączyć żądania HTTP w ustawieniach doświadczenia!
local HttpService = game:GetService("HttpService")
local groupId = "your_group_id"
local membershipId = "your_membership_id"
local roleId = "your_role_id"
local function request()
local response = HttpService:RequestAsync({
Url = `https://apis.roblox.com/cloud/v2/groups/{groupId}/memberships/{membershipId}`, -- Aktualizuje członkostwo użytkownika w grupie
Method = "PATCH",
Headers = {
["Content-Type"] = "application/json", -- Przy wysyłaniu JSON, ustaw to!
["x-api-key"] = HttpService:GetSecret("APIKey"), -- Ustawione w Creator Hub
},
Body = HttpService:JSONEncode({ role = `groups/{groupId}/roles/{roleId}` }),
})
if response.Success then
print("Odpowiedź była pomyślna:", response.StatusCode, response.StatusMessage)
else
print("Odpowiedź zwróciła błąd:", response.StatusCode, response.StatusMessage)
end
print("Treść odpowiedzi:\n", response.Body)
print("Nagłówki odpowiedzi:\n", HttpService:JSONEncode(response.Headers))
end
-- Pamiętaj, aby opakować funkcję w 'pcall', aby zapobiec awarii skryptu, jeśli żądanie się nie powiedzie
local success, message = pcall(request)
if not success then
print("Wysłanie żądania Http nie powiodło się:", message)
end

UrlEncode
Zapis równoległy
Możliwości: Network
HttpService:UrlEncode(input:string):string
Parametry
input:string
Zwroty
Przykłady kodu
Kodowanie Url HttpService
local HttpService = game:GetService("HttpService")
local content = "Je suis allé au cinéma." -- Francuski na "Poszedłem do kina"
local result = HttpService:UrlEncode(content)
print(result) --> Je%20suis%20all%C3%A9%20au%20cinema%2E
Nowy post na Pastebin
local HttpService = game:GetService("HttpService")
local URL_PASTEBIN_NEW_PASTE = "https://pastebin.com/api/api_post.php"
local dataFields = {
-- Klucz dewelopera API pastebina z
-- https://pastebin.com/api#1
["api_dev_key"] = "WYPEŁNIJ TO SWOIM KLUCZEM DEWELOPERA API",
["api_option"] = "paste", -- zachowaj jako "paste"
["api_paste_name"] = "HttpService:PostAsync", -- nazwa wpisu
["api_paste_code"] = "Witaj, świecie", -- zawartość wpisu
["api_paste_format"] = "text", -- format wpisu
["api_paste_expire_date"] = "10M", -- data wygaśnięcia
["api_paste_private"] = "0", -- 0=publiczny, 1=niewidoczny, 2=prywatny
["api_user_key"] = "", -- klucz użytkownika, jeśli pusty, wpisz jako gość
}
-- API pastebina używa ciągu zakodowanego w URL jako danych postu
-- Inne API mogą używać JSON, XML lub innego formatu
local data = ""
for k, v in pairs(dataFields) do
data = data .. ("&%s=%s"):format(HttpService:UrlEncode(k), HttpService:UrlEncode(v))
end
data = data:sub(2) -- Usuń pierwsze &
-- Oto dane, które wysyłamy
print(data)
-- Wykonaj żądanie
local response = HttpService:PostAsync(URL_PASTEBIN_NEW_PASTE, data, Enum.HttpContentType.ApplicationUrlEncoded, false)
-- Odpowiedź będzie zawierać URL do nowego wpisu (lub ciąg błędu, jeśli coś poszło nie tak)
print(response)

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.