今天要来介绍 Go 语言里的网路操作,这边会以介绍 net/http 这个套件为主,并且介绍什麽是 HttpClient 和 HttpServer。
所谓服务端,即负责提供网页的电脑,由程序语言建构出来,并且通过 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。
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。谢谢今天的阅读,希望对你有帮助!
>>: Day.22 SQL应用 - 表与表之间的连结 (JOIN)
输出与输入设备是在嵌入式系统里面,占有一个很重要的位置,所有的输入输出系统都必须透过设备控制暂存器,...
Hello 大家, 本周上班的第二天, 也是倒数第二天XD, 到中午就想ㄏㄚˇ班... 今天来说捷径...
[Day10] Hold Shift to Check Multiple Checkboxes ch...
在开发游戏的过程中,美术需要把做好的档案交给程序,那麽也一定需要固定的规范,因此分享3ds max汇...
前言 继续来讨论语意相似度,今天我们将深入探讨如何实现 word embedding 。也就是说,我...