import "net/http"
Go语言提供了HTTP客户端和服务端的实现,也就是net/http包
我们可以通过包中的Get,Head,Post,PostForm函数发出HTTP/HTTPS请求
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main{
response, err := http.Get("https://www.baidu.com")
if err != nil{
//...
}
defer response.Body.Close()//在回复后必须关闭回复的主体
body,err := ioutil.ReadAll(response.body)
if err == nil{
fmt.Println(string(body))
}
}
这样即可获取https://www.baidu.com返回的结果,当然,在经过string(body)处理后,我们获取到的数据格式为string,我们需要将它转换为**map[string]interface{}**格式
func Transformation(response *http.Response) map[string]interface{}{
var result map[string]interface{}
body, err := ioutil.ReadAll(response.Body)
if err == nil {
json.Unmarshal([]byte(string(body)), &result)
}
return result
}
这样即可转换为**map[string]interface{}**格式,方便我们取值和使用
如果URL参数中有汉字,那么我们需要将汉字转换,这里使用net/url包进行转换,具体使用方法见代码:
import (
"net/url"
)
func StrTransformation(str1 string) string {
str2 := url.QueryEscape(str1)
return str2
}