go-http

http.get
res, err := http.Get("http://wwww.baidu.com")
if err != nil {
   fmt.Println("get err", err.Error())
   return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
   fmt.Println("http read error.")
}

src := string(body)
re, _ := regexp.Compile("百度")
src = re.FindString(src)

fmt.Println(src)
http post
func main()  {
    var url = "http://www.baidu.com"
    var jsonStr = `{"field1": "hello", "field2": [1,2,3]}`//注意jsonstr加的符号
    res, err := httpPost(url, jsonStr)
    fmt.Println(res)
    fmt.Println(err)
}

func httpPost(url string, jsonStr string) (string, error) {
    var json = []byte(jsonStr)
    req, err := http.NewRequest("POST", url, bytes.NewBuffer(json))//bytes.buffer是一个缓冲byte类型的缓冲器存放着都是byte,Buffer 就像一个集装箱容器,可以存东西,取东西(存取数据)
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{}//创建一个客户端
    resp, err := client.Do(req)//构造并发送请求
    if err != nil {
        log.Println("post err")
    }

    defer resp.Body.Close()
    body, err2 := ioutil.ReadAll(resp.Body)
    if err2 != nil {
        log.Println("ioutil reas err")
    }

    return string(body), err
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!