Lähettämässä HTTP-pyyntöä

Lua:
Lähettämässä HTTP-pyyntöä

Kuinka:

Lua ei sisällä natiivia HTTP-tukea, joten käytämme kirjastoja. Yleinen valinta on lua-requests. Tässä nopea esimerkki:

local requests = require('requests')

-- GET-pyyntö
local response = requests.get('https://api.example.com/data')
print(response.status_code)
print(response.text)

-- POST-pyyntö jonkin datan kanssa
local post_response = requests.post('https://api.example.com/post', {data = {key1 = 'value1', key2 = 'value2'}})
print(post_response.status_code)
print(post_response.text)

Esimerkkivastaus voi näyttää tältä:

200
"{\"data\":\"Tässä pyytämäsi tiedot!\"}"

201
"{\"success\":true,\"message\":\"Tiedot vastaanotettu!\"}"

Syväsukellus

Luassa sen yksinkertaisuus ei natiivisti käsitä HTTP:tä, minkä vuoksi kirjastot astuvat kuvaan. lua-requests heijastelee Python Requests -kirjaston toiminnallisuutta, tehden siitä helpon niille, jotka ovat tuttuja Pythonin kanssa.

Muita vaihtoehtoja sisältävät LuaSocket alemman tason HTTP-työhön ja luasocket.http suurempaan kontrolliin. Lualla on myös sidonnaisuuksia libcurliin (via Lua-cURL) monimutkaisiin HTTP-toimintoihin.

Historiallisesti sisäänrakennetun HTTP-tuen puuttuminen heijastaa Luan juuria upotetuissa järjestelmissä, joissa verkkoprogrammointi ei ollut prioriteetti. Sen evoluutio ulkoisten kirjastojen kautta esimerkillistää yhteisön sopeutumiskykyä ja kielen laajennettavuutta.

Toteutuksen kannalta, kun lähetät HTTP-pyynnön, se matkaa verkon yli määriteltyyn palvelimeen. Palvelin käsittelee sen ja vastaa. Luan kirjastot abstrahoivat tarvittavan socket-ohjelmoinnin, käsitellen kaiken verkkoviestinnän pikkutarkan, jotta voit keskittyä itse pyyntöön ja vastaukseen.

Katso Myös