首页 > 其他 > 详细

免费查快递跟踪信息Golang实现

时间:2020-04-08 12:16:05      阅读:158      评论:0      收藏:0      [点我收藏+]

参考ui效果:
https://www.kuaidi100.com/?from=openv

思路:
调用快递100的接口,可以免费查询快递跟踪记录了...

线上请求地址 https://test.ibanana.club/kd100/auto_com_num?num=73119782411952
线上请求地址 https://test.ibanana.club/kd100/query_num_detail?num=73119782411952&comCode=zhongtong

//路由
router.GET("/kd100/auto_com_num", controller.AutoComNum) //获取快递公司类型
router.GET("/kd100/query_num_detail", controller.QueryNumDetail) //获取快递跟踪信息

//获取快递公司类型
func AutoComNum(ctx *gin.Context) {
	//fmt.Println("AutoComNum...")
	text := ctx.Query("num") //单号
	url := "https://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=" + text
	paramData := gin.H{}
	headerData := make(map[string]string, 1)
	headerData["User-Agent"] = "Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
	resp := SendPostWithHeard(url, paramData, headerData)
	respData := gin.H{}

	if err := json.Unmarshal([]byte(resp), &respData); err != nil {
		fmt.Println("voucher_detail_list", err)
	}
	fmt.Println(respData)
	httpext.SuccessExt(ctx, respData)
}

//获取快递跟踪信息
func QueryNumDetail(ctx *gin.Context) {
	//fmt.Println("AutoComNum...")
	postid := ctx.Query("num") //单号
	kdtype := ctx.Query("comCode") //快递类型
	temp := strconv.Itoa(int(time.Now().UnixNano())) //时间戳
	//phone := "" //手机号,默认为空
	url := fmt.Sprintf("https://www.kuaidi100.com/query?postid=%s&type=%s&temp=%s",postid,kdtype,temp)
	fmt.Println("url:",url)
	resp:=httpext.SendtGet(url)
	respData := gin.H{}

	if err := json.Unmarshal([]byte(resp), &respData); err != nil {
		fmt.Println("voucher_detail_list", err)
	}
	fmt.Println(respData)
	fmt.Println(respData["status"])
	if respData["status"]!= "200"{
		httpext.ErrorExt(ctx, e.INVALID_PARAMS,respData)
		return
	}
	httpext.SuccessExt(ctx, respData)
}

免费查快递跟踪信息Golang实现

原文:https://www.cnblogs.com/haima/p/12658956.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!