百度定位接入指南

百度接入指南
  1. 域名:http://dnfyyds.tech/server1/baidu/proxy/

  2. 认证方式:

    1. 申请 app 和 app_secret
    2. 请求头带上 header
    app (字符串)服务ID
    ts  (整形)时间戳,单位秒。半小时有效
    nonce(字符串)随机数
    sign  (字符串)签名
    
    1. 签名的生成方式
    // go 语言
    str=时间戳-随机数-app_secret
    sign := fmt.Sprintf("%x", md5.Sum([]byte(str)))
    
  3. 使用的例子
    比如你想调百度的接口/location/ip,就拼接域名http://dnfyyds.tech/server1/baidu/proxy/reverse_geocoding/v3/ 进行调用
    接口参数和百度的参数一样

// go 语言的一个例子
func Test() (err error) {
	query := make(map[string]string)
	header := make(map[string]string)
	// app (字符串)服务ID
	// ts  (整形)时间戳,单位秒。半小时有效
	// nonce(字符串)随机数
	// sign  (字符串)签名
	nonce := mysql_models.GenerateRandomString(40)
	ts := fmt.Sprintf("%d", time.Now().Unix())
	str := fmt.Sprintf("%s-%s-%s", ts, nonce, "自己的app_secret")
	sign := fmt.Sprintf("%x", md5.Sum([]byte(str)))
	header["app"] = "自己的APPID"
	header["ts"] = ts
	header["nonce"] = nonce
	header["sign"] = sign
	query["location"] = "22.51902, 113.462396"
	query["output"] = "json"
	logapp.Debug("query", query)
	var resp interface{}
	err = curl.RequestWithQuery1("http://dnfyyds.tech/server1", "/baidu/proxy/reverse_geocoding/v3/", http.MethodGet, query, header, &resp)
	return
}