笑话大全
聚合数据 官方文档
搜集网络幽默、搞笑、内涵段子,不间断更新
基本说明:
接口地址:http://v.juhe.cn/joke/content/list.php
返回格式:json
请求方式:get
请求示例:http://v.juhe.cn/joke/content/list.php?key=您申请的KEY&page=2&pagesize=10&sort=asc&time=1418745237
请求参数说明:
名称 类型 必填 说明
key string 必填 应用APPKEY,申请数据系统分配 扫码关注公众号
sort string 必填 类型,desc:指定时间之前发布的,asc:指定时间之后发布的
page int 选填 当前页数,默认1
pagesize int 选填 每次返回条数,默认1,最大20
time string 必填 时间戳(10位),如:1418816972
返回参数说明:
名称 类型 说明
error_code int 返回码
reason string 返回说明
JSON返回示例:
{
	"error_code": 0,
	"reason": "Success",
	"result": {
		"data": [{
				"content": "有一天晚上我俩一起吃西瓜,老大把西瓜籽很整洁的吐在了一张纸上,
过了几天,我从教室回但宿舍看到老大在磕瓜子,
我就问他:老大,你什么时候买的瓜子?
老大说:刚晒好,说着抓了一把要递给我……",
				"hashId": "bcc5fdc2fb6efc6db33fa242474f108a",
				"unixtime": 1418814837,
				"updatetime": "2014-12-17 19:13:57"
			}
		]
	}
}
服务级错误码参照
错误码 说明
209501 必须为10位时间戳
209502 page、pagesize必须为int类型,time为10位时间戳
10001 错误的请求KEY
10002 该KEY无请求权限
10003 KEY过期
10004 错误的OPENID
10005 应用未审核超时,请提交认证
10007 未知的请求源
10008 被禁止的IP
10009 被禁止的KEY
10011 当前IP请求超过限制
10012 请求超过次数限制
10013 测试KEY超过请求限制
10014 系统内部异常(调用充值类业务时,请务必联系客服或通过订单查询接口检测订单,避免造成损失)
10020 接口维护
10021 接口停用
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 聚合 笑话大全 调用类
//----------------------------------
class freeApi{
    private $apiKey = false; //聚合appkey
    private $apiUrl = 'http://v.juhe.cn/joke/content/list.php';
    public function __construct($apikey){
        $this->apiKey = $apikey;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 笑话大全 结果
     * @return array
     */
    public function getResult(){
        $params = [
            "sort" => "",//类型,desc:指定时间之前发布的,asc:指定时间之后发布的
            "page" => "",//当前页数,默认1
            "pagesize" => "",//每次返回条数,默认1,最大20
            "time" => "",//时间戳(10位),如:1418816972
            "key" => $this->apiKey,//您申请的key
        ];
        $params = http_build_query($params);
        return $this->returnArray($this->freeApiCurl($this->apiUrl,$params,1));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $httpInfo = array();
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
        $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
        curl_close( $ch );
        return $response;
    }
}