??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
go语言之http

转载   PowerMichael   2018-11-14   浏览量:28


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。
当我们的程序运行起来后,访问//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("//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

转载自://blog.51cto.com/huwho/2316694

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



使用Go来模拟Java中的接口 实现类
针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构。分享一简单例子:packagemain//模拟java中的接口,实现类import"fmt"//声明一个接口,typeworkthreadinterface{do(namestring)}//传入的wt的子类不同,do方法执行的逻辑也不同funcHandle(wtworkthread,namestring
md5加密算法原理及其GO语言实现
md5加密算法原理及其GO语言实现MD5讯息摘要演算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hashvalue),用于确保信息传输完整一致。go调用md5方法新建md5.go文件,代码如下:packagemainimport("fmt"...
Go语言中时间函数及定时器的使用
Go语言中时间函数的使用,定时器的实现
Golang之wait.Until 简单测试用例
测试目的,验证wait.Until的用法//测试wait.Until()的用途packagemainimport("fmt""k8s.io/apimachinery/pkg/util/wait""time")typestopstruct{}funcmain(){stopCh:=make(chanstruct{})//初始化一个计数器i:=0gowait.Until(func(){fmt.Print
各种加密算法在Go语言中的使用
实际编程过程经?;嵊龅绞褂酶髦旨用芩惴?,本文以代码详细介绍了在Go语言中如何使用MD5、SHA256、RIPEMD160、DES、3DES、AES进行加密
Go语言之如何给*int32类型赋值
直接上代码:packagemainimport"fmt"funcmain(){varnum*int32variint32=5//针对*int32的,先创建一个i类型,然后取i的地址,赋值给*int32num=&ifmt.Println("=====>:\t",num)fmt.Println("=====>:\t",*num)}运行结果:=====>:0xc04206408
go语言学习之路(二)——go语言进行微信公众号开发
学习教程地址://www.imooc.com/topic/golang?mc_marking=ed9ea9bd605fe0066c71d80cc8603806&mc_channel=bdgoyyzt&audience=230227github地址:https://github.com/leeeboo/leeeboo.github.com微信公众号开发文档:https://...
golang基础知识学习之双链表、别名、自定义构造函数
golang基础知识学习之双链表、别名、自定义构造函数。
golang基础知识学习之结构体tag、匿名字段
golang基础知识学习之结构体tag、匿名字段。
Go语言之读取yaml配置文件,转换成struct结构,json形式输出
1、例子11.1、yaml文件内容如下:host:localhost:3306user:rootpwd:123456dbname:test1.2、代码如下://将yaml文件,转换成对象,再转换成json格式输出packagemainimport("encoding/json""fmt""gopkg.in/yaml.v2""io/ioutil")//定义conf类型//类型里的属性,全是配置文件里