姓氏起源
阿凡达数据 官方文档
《百家姓》是我国汉族姓氏总集,载有四百多个姓氏。四百多个姓,为什么偏要把“赵钱孙李”放在前面呢?原来《百家姓》是宋朝初年钱塘一个老儒编的。宋朝的皇帝姓赵,赵便为国姓。钱塘属浙江,当时占据江浙一带的是吴王钱叔,孙是他正妃的姓。李是南唐李后主的姓。于是“赵钱孙李”便为头一句
基本说明:
接口地址:http://api.avatardata.cn/XingShiQiYuan/LookUp
返回格式:json/xml
请求方式:get/post
请求示例:http://api.avatardata.cn/XingShiQiYuan/LookUp?key=[您申请的APPKEY]&xingshi=方
请求参数说明:
名称 类型 必填 说明
key String 必填 应用APPKEY
xingshi String 必填 姓氏
dtype String 选填 返回结果格式:可选JSON/XML,默认为JSON
format Boolean 选填 当返回结果格式为JSON时,是否对其进行格式化,为了节省流量默认为false,测试时您可以传入true来熟悉返回内容
返回参数说明:
名称 类型 说明
参考JSON返回示例 - -
JSON返回示例:
{
	"result": {
		"xing": "百里",
		"intro": "姓氏起源<BR>&nbsp;&nbsp;&nbsp; 出自姬姓,以封地为姓。周朝时,有姬姓虞国人,入秦后,授予百里作采邑,其后代子孙就以封地名为姓,称百里氏。<BR>  以人名为姓,是春秋时秦国大夫百里奚的后代。周初,周武王封周太王古公亶父的二儿子虞仲的子孙在虞国(在今山西平陆县北)。春秋时,虞仲有个后人叫奚,因住在百里乡,又称百里奚,他在虞国任大夫。公元前655年,虞国被晋国所灭,百里奚和虞君都当了晋国的俘虏,成了奴隶。这时,秦穆公向晋献公求亲,晋献公就把女儿嫁给他,同时把百里奚也作为陪嫁的奴仆之一送往秦国。百里奚不甘心做奴隶,就在半路上逃跑了,可不久又被楚人捉去,成了楚国的奴隶。秦穆公是个有雄心壮志的国君,一直在收罗人才,他听说百里奚是个有才干的人之后,决心把他追回来。他怕用重金去赎会引起楚国对百里奚的重视,就按照当时奴隶的身价,用五张羊皮把他作为逃奴赎回来秦穆公同百里奚交谈后,对他大加赞赏,封他为大夫。百里奚的后代子孙就以他的名字命姓,称百里氏。&nbsp;<BR>历史名人<BR>&nbsp;&nbsp;&nbsp; 百里嵩:汉代徐州刺史。相传,当时天旱,百里嵩行仗所过之处,便有雨水降下,号刺史雨。"
	},
	"error_code": 0,
	"reason": "Succes"
}
服务级错误码参照
错误码 说明
0 请求成功
1 参数错误
10001 错误的请求KEY
10002 该KEY无请求权限
10003 KEY过期
10004 错误的OPENID
10005 应用未审核超时,请提交认证
10006 未知的请求源
10007 被禁止的IP
10008 被禁止的KEY
10009 当前IP请求超过限制
10010 请求超过次数限制,请购买套餐
10011 账户余额不足,请充值
10012 测试KEY超过请求限制
10013 请求错误,请重试
10014 接口维护
10015 接口停用
10016 当日调用次数到达上限,请明日重试或联系我们申请更多上限次数
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 阿凡达数据 姓氏起源 调用类
//----------------------------------
class freeApi{
    private $apiUrl = 'http://api.avatardata.cn/XingShiQiYuan/LookUp?key=[您申请的APPKEY]&xingshi=百里';
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 姓氏起源 结果
     * @return array
     */
    public function getResult(){
        return $this->returnArray($this->freeApiCurl($this->apiUrl));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $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;
        }
        curl_close( $ch );
        return $response;
    }
}