【学習golangシリーズ】golangでWebサーバーを立てる

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

さくっと立てられる。

package main

import (
    "fmt"
    "net/http"
    "strings"
    "log"
)

func topPage(w http.ResponseWriter, r *http.Request) {
    // オプションを解析
    r.ParseForm()
    fmt.Println("path", r.URL.Path)
    fmt.Println("scheme", r.URL.Scheme)
    fmt.Println(r.Form["url_long"])

    // Get/Postパラメータがあれば表示
    for k, v := range r.Form {
        fmt.Println("key:", k)
        fmt.Println("val:", strings.Join(v, ""))
    }
                // wに入る文字列がブラウザで表示される。
    fmt.Fprintf(w, "Hello World.")
}

func main() {
    //アクセスのルーティングを設定
    http.HandleFunc("/", topPage)
    // 利用ポートを設定
    err := http.ListenAndServe(":9090", nil)

    // 既にポートが利用されているなどのエラーがあれば表示
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

実行した上で、ブラウザで https://localhost:9090 にアクセスすると

ちゃんとHello Worldってる。ログは

GETパラメータを付加した、https://localhost:9090?user=umentu&password=pasuwa-do でアクセスすると、

きちんとパラメータが取得されている。