基于GO的天气预报接口调用代码实例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于GO的天气预报接口调用代码实例

代码描述:基于GO的天气预报接口调用代码实例

代码平台:聚合数据

package main

import(

"io/ioutil"

"net/http"

"net/url"

"fmt"

"encoding/json"

)

//----------------------------------

// 全国天气预报调用示例代码-聚合数据

// 在线接口文档:/docs/39

//----------------------------------

const APPKEY = "*******************"//您申请的APPKEY func main(){

//1.根据城市名/id查询天气

Request1()

//2.天气种类及标识列表

Request2()

//3.根据IP查询天气

Request3()

//4.根据GPS坐标查询天气

Request4()

//5.城市天气三小时预报

Request5()

//6.支持城市列表

Request6()

}

//1.根据城市名/id查询天气

func Request1(){

//请求地址

juheURL :="/weather/index"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("cityname","") //城市名或城市ID,如:"苏州",需要u tf8 urlencode

param.Set("dtype","") //返回数据格式:json或xml,默认json

param.Set("format","") //未来6天预报(future)两种返回格式,1或2,默认1 param.Set("key",APPKEY) //你申请的key

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result "])

}

}

}

//2.天气种类及标识列表

func Request2(){

//请求地址

juheURL :="/weather/uni"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

param.Set("dtype","") //返回数据的格式,xml或json,默认json

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result "])

}

}

}

//3.根据IP查询天气

func Request3(){

//请求地址

juheURL :="/weather/ip"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("ip","") //ip地址,如:58.215.185.154

param.Set("dtype","") //返回数据格式:json或xml,默认json

param.Set("format","") //未来6天预报(future)两种返回格式,1或2,默认1 param.Set("key",APPKEY) //你申请的key

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result "])

}

}

}

//4.根据GPS坐标查询天气

相关文档
最新文档