package main

import (

"io/ioutil"

"net/http"

"net/url"

"fmt"

"encoding/json"

)

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

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

// 在线接口文档:http://www.juhe.cn/docs/95

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

const APPKEY = "*******************" //您申请的APPKEY

func main(){

//1.按更新时间查询笑话

Request1()

//2.最新笑话

Request2()

//3.按更新时间查询趣图

Request3()

//4.最新趣图

Request4()

}

//1.按更新时间查询笑话

func Request1(){

//请求地址

juheURL :="http://japi.juhe.cn/joke/content/list.from"

//初始化参数

param:=url.Values{}

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

param.Set("sort","") //类型,desc:指定时间之前发布的,asc:指定时间之后发布的

param.Set("page","") //当前页数,默认1

param.Set("pagesize","") //每次返回条数,默认1,最大20

param.Set("time","") //时间戳(10位),如:1418816972

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 :="http://japi.juhe.cn/joke/content/text.from"

//初始化参数

param:=url.Values{}

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

param.Set("page","") //当前页数,默认1

param.Set("pagesize","") //每次返回条数,默认1,最大20

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"])

}

}

}

//3.按更新时间查询趣图

func Request3(){

//请求地址

juheURL :="http://japi.juhe.cn/joke/img/list.from"

//初始化参数

param:=url.Values{}

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

param.Set("sort","") //类型,desc:指定时间之前发布的,asc:指定时间之后发布的

param.Set("page","") //当前页数,默认1

param.Set("pagesize","") //每次返回条数,默认1,最大20

param.Set("time","") //时间戳(10位),如:1418816972

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.最新趣图

func Request4(){

//请求地址

juheURL :="http://japi.juhe.cn/joke/img/text.from"

//初始化参数

param:=url.Values{}

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

param.Set("page","") //当前页数,默认1

param.Set("pagesize","") //每次返回条数,默认1,最大20

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"])

}

}

}

// 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错误:\r\n%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)

}

登录 后可发表评论

笑话大全api_笑话大全接口调用示例相关推荐

  1. API电商平台“淘宝店铺所有商品接口”调用示例

    API电商平台"淘宝店铺所有商品接口"调用示例 以下是行业内了解到的一些情况,本帖只展示部分代码,需要更多API调试请移步注册API账号登录 - 跨境电商平台接口提供商 数据采集公 ...

  2. 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程

    淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...

  3. 【破晓字节】电竞API接口调用示例代码-即时指数

    [破晓字节]电竞API接口调用示例代码-即时指数 使用破晓字节的电竞指数数据快一年了,分享使用指数接口的示例代码.游戏包括英雄联盟.王者荣耀.CS:GO.DOTA2.PUBG.穿越火线等等,联赛覆盖和 ...

  4. 基于代理模式的接口调用示例

    基于代理模式的接口调用示例 一.什么是代理 以产品销售为例,厂商生产出产品,但产品不对个人直接进行销售,而是供货给经销商,由经销商对个人进行销售.也就是说经销商从厂商取得了商品的代理销售权.每个经销商 ...

  5. python简单例子lof_Python的净值数据接口调用示例分享

    代码描述:基于python的净值数据接口调用代码实例 关联数据:净值数据 接口地址:https://www.juhe.cn/docs/api/id/25 #!/usr/bin/python # -*- ...

  6. python历史上的今天_历史上的今天接口调用示例

    #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import urlencode #-------- ...

  7. ajax 泛微oa表单js_接口调用示例

    ## **业务保存类接口格式说明** #### 接口协议主要采用http(s),因此下面从请求头,请求体,响应体方面做出说明 * **请求头格式** |请求头标识|必填|内容|备注| | --- | ...

  8. php老黄历源码,基于聚合数据的老黄历接口调用示例-PHP版

    前期准备 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key 接口说明 免费使用,根据会员等级不同,每日可调用次数不同,具体登录聚合数据官网查看 提供老黄历查询,黄 ...

  9. python123空气质量提醒_空气质量接口调用示例

    #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import urlencode #-------- ...

最新文章

  1. VSTO进行时––开发日志之二(VSTO Development diary II)
  2. linux 下批量修改文件的编码
  3. linux ss 命令简介 端口连接查看 代替netstat
  4. 【编程之美】2.21 只考加法的面试题
  5. 08_drain a node on the swarm
  6. python tkinter 安装_如何为Python安装tkinter?
  7. 【Python】Sklearn创建三种仿真数据集
  8. 【原】行内元素产生水平空隙是bug吗
  9. 在本地调用hadoop的api
  10. 网管学习日记-MPLS-手工配置LSP
  11. FSL ICA-FIX配置及处理流程
  12. 探索的乐趣(物理笔记)
  13. 计算机设备属于什么会计科目,​机器设备属于什么会计科目
  14. insgram 网页分享_instagram网页版登陆使用图文教程
  15. 「经济读物」小狗钱钱
  16. 在Word中打开MathType时出现AutoExecCLS错误解决方案
  17. .NET 4.0安装提示一般信任关系失败
  18. 火车票购票信息系统-Java
  19. EXCEL公式查找重复和去重
  20. Mycat(3):mycat的安装

热门文章

  1. javascript——数组、数组遍历、forEach、增加删除元素
  2. 计算机无法查找新硬件,电脑无法发现新硬件!
  3. moba上传文件到服务器,图片上传到远程服务器上的方法
  4. qt小项目 代码实现简易的QQ聊天界面
  5. 关于环境保护html网页设计完整版-4环保垃圾分类5页
  6. 第三章 软件构造过程与配置管理
  7. 苹果笔记本macbook pro如何安装python_Mac 上如何正确的安装Python2.7和Python3
  8. 基于opencv-python的签名抠图程序
  9. k8s是什么,和docker有啥关系?
  10. 面向对象设计原则七:组合/聚合复用原则