用Golang的 http 包建立 Web 服务器

http 包建立 Web 服务器

package main

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

func sayhelloName(w http.ResponseWriter, r *http.Request) {
	r.ParseForm()       //解析参数, 默认是不会解析的
	fmt.Println(r.Form) //这些是服务器端的打印信息
	fmt.Println("path", r.URL.Path)
	fmt.Println("scheme", r.URL.Scheme)
	fmt.Println(r.Form["url_long"])
	for k, v := range r.Form {
		fmt.Println("key:", k)
		fmt.Println("val:", strings.Join(v, ""))
	}
	fmt.Fprintf(w, "Hello astaxie!") //输出到客户端的信息
}

func main() {
	http.HandleFunc("/", sayhelloName)       //设置访问的路由
	err := http.ListenAndServe(":9090", nil) //设置监听的端口
	if err != nil {
		log.Fatal("ListenAndServe: ", err)
	}
}

 

在浏览器中先后输入

http://localhost:9090

http://localhost:9090/?url_long=111&url_long=222

输出到浏览器的内容是: Hello astaxie!

 

 

 

服务器端的控制台的输出:

G:\Users\chenjo>go run web.go

map[]

path /

scheme

[]

map[]

path /favicon.ico

scheme

[]

map[url_long:[111 222]]

path /

scheme

[111 222]

key: url_long

val: 111222

map[]

path /favicon.ico

scheme

[]

本文来自:ITEYE博客

感谢作者:kanglecjr

查看原文:用Golang的 http 包建立 Web 服务器

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。