亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(yè) > 知識(shí)庫(kù) > Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解

Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解

熱門標(biāo)簽:釘釘有地圖標(biāo)注功能嗎 鄭州亮點(diǎn)科技用的什么外呼系統(tǒng) 黃岡人工智能電銷機(jī)器人哪個(gè)好 浙江高頻外呼系統(tǒng)多少錢一個(gè)月 惠州電銷防封電話卡 阿里云ai電話機(jī)器人 建造者2地圖標(biāo)注 濱州自動(dòng)電銷機(jī)器人排名 汕頭小型外呼系統(tǒng)

本文實(shí)例講述了Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法。分享給大家供大家參考,具體如下:

這是一篇入門文章,通過一個(gè)簡(jiǎn)單的例子介紹Golang的Web編程主要用到的技術(shù)。

文章結(jié)構(gòu)包括:

1. Client-Get 請(qǐng)求
2. Client-Post 請(qǐng)求
3. Server 處理 Get 和 Post 數(shù)據(jù)

在數(shù)據(jù)的封裝中,我們部分采用了json,因而本文也涉及到Golang中json的編碼和解碼。

一、Client-Get

復(fù)制代碼 代碼如下:
package main
import (
        "fmt"
        "net/url"
        "net/http"
        "io/ioutil"
        "log"
)
func main() {
        u, _ := url.Parse("http://localhost:9001/xiaoyue")
        q := u.Query()
        q.Set("username", "user")
        q.Set("password", "passwd")
        u.RawQuery = q.Encode()
        res, err := http.Get(u.String());
        if err != nil {
              log.Fatal(err) return
        }
        result, err := ioutil.ReadAll(res.Body)
        res.Body.Close()
        if err != nil {
              log.Fatal(err) return
        }
        fmt.Printf("%s", result)
}

二、Client-Post

復(fù)制代碼 代碼如下:
package main
import (
        "fmt"
        "net/url"
        "net/http"
        "io/ioutil"
        "log"
        "bytes"
        "encoding/json"
)
type Server struct {
        ServerName string
        ServerIP   string
}
type Serverslice struct {
        Servers []Server
        ServersID  string
}
func main() {
        var s Serverslice
        var newServer Server;
        newServer.ServerName = "Guangzhou_VPN";
        newServer.ServerIP = "127.0.0.1"
        s.Servers = append(s.Servers, newServer)
        s.Servers = append(s.Servers, Server{ServerName: "Shanghai_VPN", ServerIP: "127.0.0.2"})
        s.Servers = append(s.Servers, Server{ServerName: "Beijing_VPN", ServerIP: "127.0.0.3"})
        s.ServersID = "team1"
        b, err := json.Marshal(s)
        if err != nil {
                fmt.Println("json err:", err)
        }
        body := bytes.NewBuffer([]byte(b))
        res,err := http.Post("http://localhost:9001/xiaoyue", "application/json;charset=utf-8", body)
        if err != nil {
                log.Fatal(err)
                return
        }
        result, err := ioutil.ReadAll(res.Body)
        res.Body.Close()
        if err != nil {
                log.Fatal(err)
                return
        }
        fmt.Printf("%s", result)
}

三、Server

復(fù)制代碼 代碼如下:
package main
import (
        "fmt"
        "net/http"
        "strings"
        "html"
        "io/ioutil"
        "encoding/json"
)
type Server struct {
        ServerName string
        ServerIP   string
}
type Serverslice struct {
        Servers []Server
        ServersID  string
}
func main() {
        http.HandleFunc("/", handler)
        http.ListenAndServe(":9001", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
        r.ParseForm() //解析參數(shù),默認(rèn)是不會(huì)解析的
        fmt.Fprintf(w, "Hi, I love you %s", html.EscapeString(r.URL.Path[1:]))
        if r.Method == "GET" {
                fmt.Println("method:", r.Method) //獲取請(qǐng)求的方法
                fmt.Println("username", r.Form["username"])
                fmt.Println("password", r.Form["password"])
                for k, v := range r.Form {
                        fmt.Print("key:", k, "; ")
                        fmt.Println("val:", strings.Join(v, ""))
                }
        } else if r.Method == "POST" {
                result, _:= ioutil.ReadAll(r.Body)
                r.Body.Close()
                fmt.Printf("%s\n", result)
                //未知類型的推薦處理方法
                var f interface{}
                json.Unmarshal(result, f)
                m := f.(map[string]interface{})
                for k, v := range m {
                        switch vv := v.(type) {
                                case string:
                                        fmt.Println(k, "is string", vv)
                                case int:
                                        fmt.Println(k, "is int", vv)
                                case float64:
                                        fmt.Println(k,"is float64",vv)
                                case []interface{}:
                                        fmt.Println(k, "is an array:")
                                        for i, u := range vv {
                                                fmt.Println(i, u)
                                        }
                                default:
                                        fmt.Println(k, "is of a type I don't know how to handle")
                         }
                  }
                 //結(jié)構(gòu)已知,解析到結(jié)構(gòu)體
                 var s Serverslice;
                 json.Unmarshal([]byte(result), s)
                 fmt.Println(s.ServersID);
                 for i:=0; ilen(s.Servers); i++ {
                         fmt.Println(s.Servers[i].ServerName)
                         fmt.Println(s.Servers[i].ServerIP)
                 }
        }
}

希望本文所述對(duì)大家Go語言程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Go語言中利用http發(fā)起Get和Post請(qǐng)求的方法示例
  • 利用dep代替go get獲取私有庫(kù)的方法教程
  • Django objects.all()、objects.get()與objects.filter()之間的區(qū)別介紹
  • Go語言服務(wù)器開發(fā)實(shí)現(xiàn)最簡(jiǎn)單HTTP的GET與POST接口
  • $_GET[''goods_id'']+0 的使用詳解
  • 利用Go語言搭建WebSocket服務(wù)端方法示例
  • go的websocket實(shí)現(xiàn)原理與用法詳解
  • golang基于websocket實(shí)現(xiàn)的簡(jiǎn)易聊天室程序
  • Go語言基于Socket編寫服務(wù)器端與客戶端通信的實(shí)例
  • 使用Node.js和Socket.IO擴(kuò)展Django的實(shí)時(shí)處理功能
  • Go get命令使用socket代理的方法

標(biāo)簽:瀘州 駐馬店 晉中 阿壩 東營(yíng) 滄州 泰安 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解》,本文關(guān)鍵詞  語言,Web,編程,實(shí)現(xiàn),Get,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go語言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    黄视频网站免费观看| 99色播| 精品国产一区二区三区精东影业| 久久久久久久免费视频| 国产91精品系列在线观看| 可以免费看污视频的网站| 久久99欧美| 九九久久国产精品大片| 国产a视频精品免费观看| 午夜在线观看视频免费 成人| 精品国产一区二区三区久| 日本伦理片网站| 成人免费观看网欧美片| 国产极品精频在线观看| 国产伦久视频免费观看 视频| 99久久精品费精品国产一区二区| 国产91精品一区| 精品视频在线观看视频免费视频| 欧美激情一区二区三区视频高清 | 91麻豆爱豆果冻天美星空| 国产一级生活片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产网站免费视频| 国产不卡在线看| 精品视频在线观看一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久成人综合网| 精品视频免费在线| 九九久久99| 毛片高清| 999久久久免费精品国产牛牛| 国产不卡在线看| 精品久久久久久中文字幕一区| 一a一级片| 成人免费观看的视频黄页| 免费国产在线观看不卡| 国产精品自拍在线| 青青久热| 国产国语对白一级毛片| 中文字幕一区二区三区 精品| 亚洲 男人 天堂| 成人高清免费| 国产韩国精品一区二区三区| 国产精品自拍一区| 成人a级高清视频在线观看| 91麻豆tv| 国产原创中文字幕| 一级毛片视频免费| 日本免费乱人伦在线观看| 精品视频免费看| 麻豆网站在线看| 欧美电影免费看大全| 色综合久久久久综合体桃花网| 国产网站免费观看| 欧美一级视频高清片| 天天做人人爱夜夜爽2020毛片| 国产美女在线一区二区三区| 国产一区精品| 日本免费乱理伦片在线观看2018| 青青青草视频在线观看| 欧美激情影院| 国产伦精品一区二区三区无广告| 九九精品在线| 欧美a级片视频| 国产成人欧美一区二区三区的| 九九热国产视频| 青青青草视频在线观看| 精品国产一区二区三区国产馆| 日本特黄特黄aaaaa大片| 日韩在线观看视频网站| 日韩一级黄色片| 欧美a免费| 欧美18性精品| 中文字幕一区二区三区精彩视频| 欧美激情一区二区三区视频高清| 91麻豆精品国产综合久久久| 午夜久久网| 欧美国产日韩精品| 日本特黄特黄aaaaa大片 | 高清一级毛片一本到免费观看| 精品视频一区二区三区| 久久久久久久久综合影视网| 精品国产三级a∨在线观看| 国产一区二区精品| 91麻豆爱豆果冻天美星空| 国产a毛片| 精品国产一区二区三区国产馆| 国产美女在线观看| 国产伦精品一区二区三区在线观看 | 韩国三级视频网站| 四虎影视久久久免费| 午夜在线亚洲男人午在线| 九九免费精品视频| 一级毛片视频免费| 久久国产一久久高清| 一a一级片| 成人免费观看男女羞羞视频| 久久精品免视看国产明星| 91麻豆精品国产综合久久久| 欧美激情一区二区三区在线| 国产综合91天堂亚洲国产| 中文字幕一区二区三区 精品| 国产成人精品综合| 国产不卡高清| 麻豆午夜视频| 日韩欧美一二三区| 韩国三级视频网站| 美国一区二区三区| 亚洲第一色在线| 99久久精品国产高清一区二区| 91麻豆精品国产自产在线| 欧美日本国产| 亚飞与亚基在线观看| 韩国三级视频网站| 久久99这里只有精品国产| 国产精品自拍一区| 欧美18性精品| 欧美一区二区三区在线观看| 国产视频一区二区在线观看| 久久精品欧美一区二区| 色综合久久天天综线观看| 欧美激情影院| 999精品视频在线| 日韩av成人| 色综合久久天天综线观看| 午夜激情视频在线播放| 国产麻豆精品高清在线播放| 亚洲第一页乱| 九九久久国产精品大片| 欧美a免费| 国产欧美精品午夜在线播放| 精品在线观看国产| 久久久成人网| 亚洲精品久久玖玖玖玖| 韩国三级视频网站| 日韩免费在线| 99热视热频这里只有精品| 高清一级毛片一本到免费观看| 亚洲精品久久久中文字| 国产不卡在线观看视频| 久草免费资源| 精品视频一区二区| 免费毛片基地| 国产麻豆精品hdvideoss| 午夜在线影院| 欧美日本免费| 日本特黄一级| 精品在线免费播放| 台湾毛片| 国产麻豆精品免费视频| 91麻豆精品国产高清在线| 青青久久国产成人免费网站| 久久久久久久久综合影视网| 日本特黄特黄aaaaa大片 | 黄视频网站免费| 国产精品1024永久免费视频| 欧美一级视频高清片| 韩国三级香港三级日本三级| 韩国毛片免费大片| 香蕉视频一级| 久草免费在线色站| 亚洲 国产精品 日韩| 国产一区二区精品久久91| 欧美大片a一级毛片视频| 一级毛片视频免费| 亚洲精品中文一区不卡| 日日日夜夜操| 美国一区二区三区| 九九干| 成人高清视频在线观看| 一级毛片看真人在线视频| 青青青草视频在线观看| 麻豆污视频| 国产一区精品| 99久久网站| 日韩av片免费播放| 久久精品店| 黄色福利片| 欧美激情一区二区三区视频高清 | 午夜精品国产自在现线拍| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人高清视频免费观看| 久久福利影视| 亚洲 欧美 成人日韩| 91麻豆国产| 黄视频网站在线观看| 夜夜操网| 精品国产一级毛片| 国产欧美精品午夜在线播放| 日日爽天天| 国产成人精品影视| 免费的黄色小视频| 欧美爱爱网| 日韩综合| 国产一区二区精品久久91| 精品国产香蕉在线播出| 在线观看成人网| 欧美大片aaaa一级毛片| 成人a级高清视频在线观看| 日本特黄特黄aaaaa大片 |