源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Go语言使用HTTP包创建WEB服务器的方法

  • 时间:2022-08-27 23:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Go语言使用HTTP包创建WEB服务器的方法
本文实例讲述了Go语言使用HTTP包创建WEB服务器的方法。分享给大家供大家参考,具体如下: 在Golang中写一个http web服务器大致是有两种方法: 1 使用net包的net.Listen来对端口进行监听 2 使用net/http包 这里是讨论如何使用net/http包创建一个web服务器 net/http请求提供了HTTP客户端和服务端的具体实现 [b]http客户端[/b] 先看到的是Get,Post,PostForm三个函数。这三个函数直接实现了http客户端
[u]复制代码[/u] 代码如下:
import (     "fmt"     "net/http"     "io/ioutil" ) func main() {     response,_ := http.Get("http://www.baidu.com")     defer response.Body.Close()     body,_ := ioutil.ReadAll(response.Body)     fmt.Println(string(body)) }
除了使用这三个函数来建立一个简单客户端,还可以使用: http.Client和http.NewRequest来模拟请求
[u]复制代码[/u] 代码如下:
package main import (     "net/http"     "io/ioutil"     "fmt" ) func main() {     client := &http.Client{}     reqest, _ := http.NewRequest("GET", "http://www.baidu.com", nil)     reqest.Header.Set("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")     reqest.Header.Set("Accept-Charset","GBK,utf-8;q=0.7,*;q=0.3")     reqest.Header.Set("Accept-Encoding","gzip,deflate,sdch")     reqest.Header.Set("Accept-Language","zh-CN,zh;q=0.8")     reqest.Header.Set("Cache-Control","max-age=0")     reqest.Header.Set("Connection","keep-alive")     response,_ := client.Do(reqest)     if response.StatusCode == 200 {         body, _ := ioutil.ReadAll(response.Body)         bodystr := string(body);         fmt.Println(bodystr)     } }
[img]http://files.jb51.net/file_images/article/201607/2016727154130385.png?2016627154153[/img] [b]如何创建web服务端?[/b] http包封装地非常bt,只需要两行!!:
[u]复制代码[/u] 代码如下:
package main import (     "net/http" ) func SayHello(w http.ResponseWriter, req *http.Request) {     w.Write([]byte("Hello")) } func main() {     http.HandleFunc("/hello", SayHello)     http.ListenAndServe(":8001", nil) }
进行端口的监听:http.ListenAndServe(":8001", nil) 注册路径处理函数:http.HandleFunc("/hello", SayHello) 处理函数:func SayHello(w http.ResponseWriter, req *http.Request) [b]golang服务器的效率怎样呢?[/b] 看看这个帖子: http://groups.google.com/group/golang-nuts/browse_thread/thread/cde2cc6278cefc90 node.js is 45% faster than golang(确实伤心) golang服务端的效率确实没有node.js高,几乎是它的一半。但话说回来,如果一些并发量不是很大的site,还是可以使用golang做服务器的。 希望本文所述对大家Go语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部