基于GO的搞笑段子api调用代码实例_vfp中api函数调用实例

2020-02-28 其他范文 下载本文

基于GO的搞笑段子api调用代码实例由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vfp中api函数调用实例”。

基于GO的搞笑段子api调用代码实例

代码描述:基于GO的搞笑段子api调用代码实例 代码平台:聚合数据

package main import(“io/ioutil”

“net/http”

“net/url”

“fmt”

“encoding/json”)

//---

// 笑话大全调用示例代码 - 聚合数据

// 在线接口文档:http://www.daodoc.com/funny/type.from“

//初始化参数

param:=url.Values{}

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

param.Set(”key“,APPKEY)//您申请的key

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf(”请求失败,错误信息:rn%v“,err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

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

fmt.Printf(”接口返回result字段是:rn%v“,netReturn[”result“])

}

} }

//2.根据接口序号查询 func Request2(){

//请求地址

juheURL :=”http://japi.juhe.cn/funny/list.from“

//初始化参数

param:=url.Values{}

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

param.Set(”cat“,”“)//指定接口类型,默认

1param.Set(”st“,”“)//指定开始数,默认0

param.Set(”count“,”“)//指定返回个数,默认1

param.Set(”key“,APPKEY)//您申请的key

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf(”请求失败,错误信息:rn%v“,err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)if netReturn[”error_code“].(float64)==0{

fmt.Printf(”接口返回result字段是:rn%v“,netReturn[”result“])

}

} }

//3.按类搜索接口 func Request3(){

//请求地址

juheURL :=”http://japi.juhe.cn/funny/search.from“

//初始化参数

param:=url.Values{}

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

param.Set(”st“,”“)//指定开始数,默认0

param.Set(”count“,”“)//指定返回数量,默认1

param.Set(”term“,”“)//指定搜索关键词

param.Set(”key“,APPKEY)//您申请的key

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf(”请求失败,错误信息:rn%v“,err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

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

fmt.Printf(”接口返回result字段是:rn%v“,netReturn[”result“])

}

} }

//4.参考答案接口 func Request4(){

//请求地址

juheURL :=”http://japi.juhe.cn/funny/answer.from“

//初始化参数

param:=url.Values{}

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

param.Set(”id“,”“)//指定谜语、歇后语、打油诗、脑筋急转弯编号

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf(”请求失败,错误信息:rn%v“,err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

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

fmt.Printf(”接口返回result字段是:rn%v“,netReturn[”result“])

}

} }

// get 网络请求

func Get(apiURL string,params url.Values)(rs[]byte ,err error){

var Url *url.URL

Url,err=url.Parse(apiURL)

if err!=nil{

fmt.Printf(”解析url错误:rn%v“,err)

return nil,err

}

//如果参数中有中文参数,这个方法会进行URLEncode

Url.RawQuery=params.Encode()

resp,err:=http.Get(Url.String())

if err!=nil{

fmt.Println(”err:",err)

return nil,err

}

defer resp.Body.Close()

return ioutil.ReadAll(resp.Body)}

// post 网络请求 ,params 是url.Values类型

func Post(apiURL string, params url.Values)(rs[]byte,err error){

resp,err:=http.PostForm(apiURL, params)

if err!=nil{

return nil ,err }

defer resp.Body.Close()

return ioutil.ReadAll(resp.Body)}

《基于GO的搞笑段子api调用代码实例.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
基于GO的搞笑段子api调用代码实例
点击下载文档
相关专题 vfp中api函数调用实例 段子 实例 代码 vfp中api函数调用实例 段子 实例 代码
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文