go的入门之路 http Get Post请求

 
  
 
  
 
  

golang之Http协议Get请求

package main
import (
	"net/http"
	"fmt"
	"io/ioutil"
)
func main()  {
	get()
}
func get(){
	resp,err :=    http.Get("http://www.baidu.com")
	if err!=nil {
		//如果没有获取到url数据 会返回一个error 类型错误
		fmt.Println("error=",err,";")
	}
	defer resp.Body.Close()
	//提取响应头数据
	b,err:=ioutil.ReadAll(resp.Body)
	//将字节切片转成成String 输出
	fmt.Print(string(b))
}

  获取百度网页数据 转化成string的形式输出出来.

   defer 关键字是总会执行,类似于java try catch finally 代码块


golang之Http协议Post请求

import (  
    "net/http"  
    "net/url"  
    "fmt"  
    "io/ioutil"  
)  
  
func main()  {  
    post()  
}  
func post()  {  
        //这是一个Post 参数会被返回的地址  
        strinUrl:="http://localhost:8080/aaa"  
        resopne,err:=   http.PostForm(strinUrl,url.Values{"num":{"456"}})  
  
        if err !=nil {  
        fmt.Println("err=",err)  
        }  
        defer func() {  
            resopne.Body.Close()  
            fmt.Println("finish")  
        }()  
         //提取数据
        body,err:=ioutil.ReadAll(resopne.Body)  
        if err!=nil {  
            fmt.Println(" post err=",err)  
        }  
        fmt.Println(string(body))  
}  

运行结果:运行的结果;Key = num, Value = [456]

服务器是我用java语言编写的,服务器会监听8080端口,将客户端提交的数据返回给客户端。goHttp代码量相对于java来讲还是很少的。

通过golang的ioutil包可以直接Http响应头提取到切片[]slice 里面。最后将[]byte 转成string输出

你可能感兴趣的:(go,的成长之路)