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 协议》,转载必须注明作者和本文链接
推荐文章: