iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0

前言

今天要來介紹 Go 語言裡的網路操作,這邊會以介紹 net/http 這個套件為主,並且介紹什麼是 HttpClient 和 HttpServer。

HTTP Server

所謂服務端,即負責提供網頁的電腦,由程式語言建構出來,並且通過 HTTP 傳輸,

package main
 
import (
   "fmt"
   "net/http"
)
 
func ping(w http.ResponseWriter, req *http.Request) {
   fmt.Fprintf(w, "pong\n")
}
 
func main() {
 
   http.HandleFunc("/ping", ping)
   http.ListenAndServe(":8787", nil)
}

我們這裡架設一個很簡易的 Server,在執行程式碼後,你可開啟瀏覽器,並輸入 http://127.0.0.1:5000/ping ,即可以連到自己的 Server,內容會是 pong。

HTTP Client

HttpClient 類別執行個體,是做為工作階段使用以傳送 HTTP 要求, 實現 HTTP 和 HTTPS 協議客戶端的類,而HttpClient 提供了八種方法,而我們比較常用的為 GET/POST/DELETE/PUT,今天我們以 GET 來示範取得網頁內容。

package main
 
import (
   "fmt"
   "io/ioutil"
   "net/http"
)
 
func main() {
   resp, err := http.Get("https://ithelp.ithome.com.tw/articles/10261743")
   if err != nil {
       panic(err)
   }
  
   defer resp.Body.Close()
 
   fmt.Println("Response status:", resp.Status)
 
   body, err := ioutil.ReadAll(resp.Body)
   if err != nil {
       panic(err)
   }
 
   fmt.Println(string(body))
}

這麼一來,你就可以取得該網頁的內容。

結語

今天介紹 Go 語言的 net/http 包,用來處理一些網路遭作為主的套件,這樣一來,你可以用 Go 語言來寫一個自己很簡易的 Server。謝謝今天的閱讀,希望對你有幫助!


上一篇
Day21-Go檔案處理
下一篇
Day23-Go Gin
系列文
golang後端入門分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言