Go语言调用快递查询接口示例:
package main
import (
"encoding/json"
"encoding/xml"
"fmt"
"io/ioutil"
"net/http"
)
const (
URL = "https://api.ip138.com/express/info"
TOKEN = "bd4c2bf9a38ab06f7cae88c9759ee172"
)
//----------------------------------
// 调用示例代码
//----------------------------------
//json struct
type jsoninfo struct {
Status string `json:"status"`
code string `json:"code"`
Data string `json:"data"`
}
func main() {
getExpress("100613574827")
}
func getExpress(no string) {
queryUrl := fmt.Sprintf("%s?no=%s",URL,no)
client := &http.Client{}
reqest, err := http.NewRequest("GET",queryUrl,nil)
if err != nil {
fmt.Println("Fatal error ",err.Error())
}
reqest.Header.Add("token",TOKEN)
response, err := client.Do(reqest)
defer response.Body.Close()
if err != nil {
fmt.Println("Fatal error ",err.Error())
}
if response.StatusCode == 200 {
bodyByte, _ := ioutil.ReadAll(response.Body)
var info jsoninfo
json.Unmarshal(bodyByte,&info)
}
return
}