用您喜欢的任何编程语言实现“Hello World”应用程序。
该应用程序是一个 CLI 应用程序。它首先在“localhost:8000”上启动一个 HTTP 服务器。服务器应在任何路由上以文本响应(内容类型“text/plain”)和响应代码 200 进行响应。当 HTTP 服务准备就绪时,应用程序向其 HTTP 服务器发送 GET 请求,读取响应(“Hello World”),并将响应打印到标准输出。最后,应用程序关闭 HTTP 服务器并存在。
应用程序可以通过curl http://localhost:8000 进行测试。
package main import ( "fmt" "io" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func main() { http.HandleFunc("/", handler) go func() { err := http.ListenAndServe(":8000", nil) if err != nil { log.Fatalf("http.ListenAndServe failed: %v", err) } }() r, err := http.Get("http://localhost:8000/") if err != nil { log.Fatalf("http.Get failed: %v", err) } defer r.Body.Close() t, err := io.ReadAll(r.Body) if err != nil { log.Fatalf("io.ReadAll failed: %v", err) } fmt.Println(string(t)) }
package main import ( "fmt" "io" "log/slog" "net/http" "os" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func configureLogging() { programLevel := new(slog.LevelVar) logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: programLevel})) slog.SetDefault(logger) if os.Getenv("DEBUG") != "" { programLevel.Set(slog.LevelDebug) } } func main() { configureLogging() http.HandleFunc("/", handler) addr := "localhost:8000" server := &http.Server{Addr: addr} done := make(chan struct{}) go func(done chan<- struct{}) { slog.Debug("server.ListenAndServe", "addr", addr) err := server.ListenAndServe() if err != nil { slog.Debug("server.ListenAndServe", "error", err) } close(done) }(done) r, err := http.Get("http://" + addr) if err != nil { slog.Error("http.Get failed", "error", err) return } defer r.Body.Close() t, err := io.ReadAll(r.Body) if err != nil { slog.Error("io.ReadAll failed", "error", err) return } fmt.Println(string(t)) err = server.Shutdown(nil) if err != nil { slog.Error("server.Shutdown failed", "error", err) return } <-done }
import process from "node:process"; Bun.serve({ fetch: () => new Response("Hello World!"), port: 8000 }); console.log(await (await fetch("http://localhost:8000/")).text()); process.exit();
Deno.serve( { port: 8000, onListen: () => {} }, () => new Response("Hello World!") ); console.log(await(await fetch("http://localhost:8000/")).text()); Deno.exit();
以上是HTTP 方式的'Hello World”的详细内容。更多信息请关注PHP中文网其他相关文章!