Go语言中的HTTP

Go中的http使用

package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
    "strings"
    "net/url"
)

func httpGet(){
    resp, err := http.Get("http://www.baidu.com")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(body))
}

func httpPost(){
    resp, err := http.Post("http://www.baidu.com",
"application/x-www-form-urlencoded",
strings.NewReader("name=zzr"))
if err != nil {
    fmt.Println(err)
    return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(string(body))
}

func httpPostForm(){
    resp, err := http.PostForm("http://www.baidu.com",
    url.Values{"key":{"value"}, "id":{"123"}})

    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(body))
}

func httpDo(){
    client := &http.Client{}

    req, err := http.NewRequest("POST", "http://www.baidu.com",strings.NewReader("name=zzr"))
    if err != nil{
        fmt.Println(err)
        return
    }
    req.Header.Set("Content-Type", "application/x-www.form-urlencoded")
    req.Header.Set("Cookie", "name=ben")

    resp, err := client.Do(req)

    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(body))
}
func main(){
    httpPost()  
}

猜你喜欢

转载自www.cnblogs.com/zzr-stdio/p/9671647.html