我正在嘗試gleam編程語言,我希望做一些簡單的事情來感受這種語言。我想嘗試的一件事是發出 HTTP 請求,我已經做到了:
import gleam/io
import gleam/http/request
import gleam/uri.{parse}
pub fn main() {
try uri = parse("https://lichess.org/api/puzzle/daily")
let req = request.from_uri(uri)
io.debug(req)
}
如果我運行輸出
{ok,{request,get,[],<<>>,https,<<"lichess.org">>,none,<<"/api/puzzle/daily">>,
none}}
這讓我認為Request物件正在正確構建,但我沒有看到任何請求。我如何觸發這個請求?
uj5u.com熱心網友回復:
在寫出這個問題的程序中,我發現該gleam/http庫實際上并未提供 HTTP 客戶端,而這正是我所尋找的。同樣,它不提供 HTTP 服務器,但是,檔案中的所有示例都顯示了如何使用gleam/cowboy或gleam/elligleam/http設定服務器,這使我清楚地了解了它們與核心庫的關系.gleam/http
正確的方法是使用 HTTP 客戶端庫,例如gleam/hackney
我最終得到以下代碼:
import gleam/io
import gleam/hackney
import gleam/http/request
import gleam/uri.{parse}
pub fn main() {
try uri = parse("https://lichess.org/api/puzzle/daily")
try req = request.from_uri(uri)
let resp = hackney.send(req)
case resp {
Ok(r) -> io.println(r.body)
Error(_e) -> io.println("Failed")
}
Ok(Nil)
}
正確執行請求并列印正文
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439518.html
標籤:http
