为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 go语言之http

go语言之http

2019.01.01 19:40 988浏览


go语言http

1、net/http 包提供的 http.ListenAndServe() 方法,在指定的地址监听

该方法用于在指定的 TCP 网络地址 addr 进行监听,然后调用服务端处理程序来处理传入的连 接请求。该方法有两个参数:第一个参数 addr 即监听地址;第二个参数表示服务端处理程序, 通常为空,这意味着服务端调用 http.DefaultServeMux 进行处理,而服务端编写的业务逻 辑处理程序 http.Handle() 或 http.HandleFunc() 默认注入 http.DefaultServeMux 中。

2.处理https请求 

func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error 

3.路由

http.HandleFunc()方法接受两个参数

第一个参数是HTTP请求的 目标路径"/hello",该参数值可以是字符串,也可以是字符串形式的正则表达式

第二个参数指定具体的回调方法,比如helloHandler。

当我们的程序运行起来后,访问http://localhost:8080/hello , 程序就会去调用helloHandler()方法中的业务逻辑程序。

4.get/post访问

resp, err := http.Get("...")

defer resp.Body.Close()

body, err := ioutil.ReadAll(resp.Body)

fmt.Println(string(body))

resp, err:=http.Post(“.....”, ”application/x-www-form-urlencoded”, strings.NewReader(“..=...”))

defer resp.Body.Close()

body,err:=ioutil.ReadAll(resp.Body)

fmt.Println(string(body))

package main

import (

    "fmt"

    "io/ioutil"

    "net/http"

    "strings"

)

func main() {

    //模拟一个post提交请求

    resp, err := http.Post("http://www.baidu.com", "application/x-www-form-urlencoded", strings.NewReader("id=1"))

    if err != nil {

        panic(err)

    }

    //关闭连接

    defer resp.Body.Close()

    //读取报文中所有内容

    body, err := ioutil.ReadAll(resp.Body)

    //输出内容

    fmt.Println(string(body))

}

模拟一个http server 监听地址:127.0.0.1:8080

// http_server.go

package main

import (

    //"fmt"

    "net/http"

)

func main() {

    http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {

        w.Write([]byte("hello world!"))

    })

    http.ListenAndServe("127.0.0.1:8080", nil)

}

go语言之http

©著作权归作者所有:来自51CTO博客作者PowerMichael的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
Go
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
237
获赞与收藏
986

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消