>백엔드 개발 >PHP 문제 >PHP에서 농담 목록을 쿼리하는 방법

PHP에서 농담 목록을 쿼리하는 방법

青灯夜游
青灯夜游원래의
2022-10-18 18:19:061616검색

PHP에서 농담 디렉터리를 쿼리하는 방법: 1. 농담 디렉터리 인터페이스 서비스를 열고 인터페이스의 호출 자격 증명 요청 키를 얻습니다. 2. 인터페이스 API를 호출하여 요청을 하고 쿼리 결과(json 형식)를 얻습니다. 3. json_decode()를 사용하여 쿼리 콘텐츠를 배열로 구문 분석합니다. 4. 구문 분석된 콘텐츠를 인쇄합니다(예: "var_dump (result array);").

PHP에서 농담 목록을 쿼리하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

PHP 기반 농담 수집 인터페이스 호출 예제

준비

  • 신청 인터페이스

    https://www.juhe.cn/docs/api/id/95?s=cpphpcn 셀프 서비스 애플리케이션을 통해 인터페이스 열기

  • 인터페이스의 통화 자격 증명 요청 키 가져오기

    개인 센터 ➡️ 데이터 센터 ➡️ 내 API 모듈에서 이 인터페이스의 통화 자격 증명 요청 키를 볼 수 있습니다

공식 홈페이지의 인터페이스를 주의 깊게 읽어주세요. 문서는 집계 데이터와 개발자 간의 합의 사항으로, 개발 작업을 원활하게 수행할 수 있도록 인터페이스 비즈니스를 이해하는 데 도움이 됩니다

1. 인터페이스

요청 매개변수

name Required Type Description
key is string 보기 >내 데이터, 인터페이스 이름

코드 예시

//请求的接口URL
$apiUrl = 'http://v.juhe.cn/joke/randJoke.php';

//请求参数
$params = [
    'key' => '聚合数据上申请的接口调用key',
];
//参数数组转换成字符串
$paramsString = http_build_query($params);

//发起接口网络请求
$response = null;
try {
    $response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行具体的异常处理
}
if (!$response) {
    echo '请求异常' . PHP_EOL;
}
//接收接口返回内容
$result = json_decode($response, true);
if (!$result) {
    echo '请求异常' . PHP_EOL;
}
$errorCode = $result['error_code'];
if ($errorCode == 0) {
    $data = $result['result'];
} else {
    echo "请求异常:{$errorCode}_{$result['reason']}" . PHP_EOL;
}
//打印接口返回结果
var_dump($result);

/**
 * 发起网络请求函数
 * @param String $url 请求的URL
 * @param bool $params  请求的参数内容
 * @param int $isPost   是否POST请求
 * @return bool|string  返回内容
 */
function juheHttpRequest($url, $params = false, $isPost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT,  'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    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);
        }
    }
    $reponse = curl_exec($ch);
    if ($reponse === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $reponse;
}

반환 결과 예시

array(3) {
  ["reason"]=>
  string(7) "success"
  ["result"]=>
  array(10) {
    [0]=>
    array(3) {
      ["content"]=>
      string(395) "【落马官员的基本特征】 嘴上学雷锋,心里学和珅; 赞扬焦裕禄,看齐雷政富; 都像孔繁森,全是王宝森; 八荣是讲话通稿,八耻是行为准则; 以党性作保证,以异性为猎物; 脱了裤子嫖妓,穿上裤子扫黄; 以国为家,国产变私产,爱民若子,民脂刮不止; 白天文明不精神,晚上精神不文明。"
      ["hashId"]=>
      string(32) "DE693E907034ADD4ABCF591B8181C13A"
      ["unixtime"]=>
      int(1425001334)
    }
    [1]=>
    array(3) {
      ["content"]=>
      string(235) "‍‍昨晚和老婆吵架了。 老婆:“气死我了,我要骂人了!” 然后,她对着我家汪汪一个劲的骂啊! 我:“我在这呢!你怎么骂汪汪啊?” 老婆回话了:“你!你还是人吗!”"
      ["hashId"]=>
      string(32) "88C00FC1B66D1EDA7912E54A2D6E0F89"
      ["unixtime"]=>
      int(1425001344)
    }
    [2]=>
    array(3) {
      ["content"]=>
      string(363) "  一次,我在公园玩悠悠球,一个小朋友跑过来问我:“哥哥,你玩的是什么呀?让我看看好吗?“我笑眯眯的答应,把悠悠球给了他,这时那小朋友的妈妈来了,小朋友举着我的悠悠球对他妈妈说:“妈妈,你看,这是哥哥送我的。”他妈妈说:“那还不快谢谢哥哥!”"
      ["hashId"]=>
      string(32) "9779B468CDE58940AABB7E826CB677D0"
      ["unixtime"]=>
      int(1425001379)
    }
    [3]=>
    array(3) {
      ["content"]=>
      string(243) "家里闹耗子了,问同事:你家里有猫不,借我养两天,吓吓老鼠。同事贱笑地对我说:不行,是母猫。艹,当哥没看过段子吗?回了句:哦,那你留着,自己用。留同事在风中凌乱……"
      ["hashId"]=>
      string(32) "98b9e3b27c3ac6c44d61ffa84e8a3a11"
      ["unixtime"]=>
      int(1425001431)
    }
    [4]=>
    array(3) {
      ["content"]=>
      string(837) "无论遇到什么事情;不要轻易说分手;不要轻易放弃感情;更别拿什么缘浅当借口;有时候感情差的就是一个转身而已;下一站未必会更好;感情再深;你不去呵护;慢慢就淡了;许多熟悉的事;你不去回味;渐渐就忘了;微笑;因一个人而起;痛苦;因一个人而生;一次冷落;会闷闷不乐;一句想你;会倍感幸福;所以;当爱在时;就要好好去珍惜;好缘分可遇不可求;有缘的人才能聚首;真感情可守不可丢;有爱的心永不说分手;别把真心爱过;变成曾经拥有;别把一次过错;变成一生错过;原谅并不难;只要感情深;永远并不远,只要彼此真。在一起不是说说而已,而是用心珍惜;真情意不是一时兴起;而是一世相依!"
      ["hashId"]=>
      string(32) "FC065A2FDFB0E7B1A661C08403C22153"
      ["unixtime"]=>
      int(1425001924)
    }
    [5]=>
    array(3) {
      ["content"]=>
      string(186) "妈妈给小明煮了两个鸡蛋,但是小明居然只吃了一个。妈妈心说孩子长大了知道心疼妈了。就问小明为啥留一个呢?小明说因为今天是剩蛋节"
      ["hashId"]=>
      string(32) "5DA85D97DA9E99F1C0C433768C50B890"
      ["unixtime"]=>
      int(1425001932)
    }
    [6]=>
    array(3) {
      ["content"]=>
      string(361) "说个我兄弟的,12年大年三十的晚上,这货没事干给10086客服拜年,结果口才好把人家小姑娘感动哭了,非要给他留电话,这是GC么?当然不是,GC是这小丫头被查到给用户留电话被开除了,更GC的是这两人还在一起了,现在开了个服装店,很苦也很幸福,今年就要结婚了……"
      ["hashId"]=>
      string(32) "1DDE835A3CCA61D149C0D0B8AA708885"
      ["unixtime"]=>
      int(1425001932)
    }
    [7]=>
    array(3) {
      ["content"]=>
      string(173) "‍‍‍‍“你爱我哪一点?”妇人问她的丈夫,“是我的天生丽质呢,还是我动人的身躯?” “我最爱你的这些幽默感。”‍‍‍‍"
      ["hashId"]=>
      string(32) "8F0BA8288787959CF6C818FC091128AB"
      ["unixtime"]=>
      int(1425001941)
    }
    [8]=>
    array(3) {
      ["content"]=>
      string(123) "问:“是不是复姓的人名字比较上档次?” 答:“欧阳翠花?”“宇文铁柱?”“司马来福?”"
      ["hashId"]=>
      string(32) "0CEC9589B4F2C445FC913A79910F9B36"
      ["unixtime"]=>
      int(1425002526)
    }
    [9]=>
    array(3) {
      ["content"]=>
      string(114) "朋友问我高原上蚊子多不,我回他说,不多,他问为啥,我说,你没听说那边缺痒呀?"
      ["hashId"]=>
      string(32) "91834BA3A265DD91527C1B7EB4188052"
      ["unixtime"]=>
      int(1425002536)
    }
  }
  ["error_code"]=>
  int(0)
}

2. 업데이트 시간별로 농담 쿼리

요청 매개변수

이름 필수 유형 설명
string 개인 센터->내 데이터, 인터페이스 이름 위에 보기
page No int 현재 페이지 번호, 기본값 1, 최대 20
pagesize No int 매번 반환되는 항목 수, 기본값은 1, 최대 20
time string 타임스탬프(10자리)입니다. 예: 1418816972

코드 예시

<?php

//请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/joke/content/list.php&#39;;

//请求参数
$params = [
    &#39;key&#39; => &#39;聚合数据上申请的接口调用key&#39;,
    &#39;sort&#39; => &#39;desc&#39;,
    &#39;time&#39; => &#39;1603439247&#39;,
    &#39;pagesize&#39; => 3
];
//参数数组转换成字符串
$paramsString = http_build_query($params);

//发起接口网络请求
$response = null;
try {
    $response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行具体的异常处理
}
if (!$response) {
    echo &#39;请求异常&#39; . PHP_EOL;
}
//接收接口返回内容
$result = json_decode($response, true);
if (!$result) {
    echo &#39;请求异常&#39; . PHP_EOL;
}
$errorCode = $result[&#39;error_code&#39;];
if ($errorCode == 0) {
    $data = $result[&#39;result&#39;];
} else {
    echo "请求异常:{$errorCode}_{$result[&#39;reason&#39;]}" . PHP_EOL;
}
//打印接口返回结果
var_dump($result);

/**
 * 发起网络请求函数
 * @param String $url 请求的URL
 * @param bool $params  请求的参数内容
 * @param int $isPost   是否POST请求
 * @return bool|string  返回内容
 */
function juheHttpRequest($url, $params = false, $isPost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT,  &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    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 . &#39;?&#39; . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $reponse = curl_exec($ch);
    if ($reponse === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $reponse;
}

반환 결과 예

array(3) {
  ["reason"]=>
  string(7) "Success"
  ["result"]=>
  array(1) {
    ["data"]=>
    array(3) {
      [0]=>
      array(4) {
        ["content"]=>
        string(294) "某先生是地方上的要人。一天,他像往常一样在书房里例览当日报纸,突然对妻子大声喊道:喂,安娜,你看到今天早报上的流言蜚语了吗?真可笑!他们说,你收拾行装出走了。你听见了吗?安娜、你在哪儿?安娜?啊!"
        ["hashId"]=>
        string(32) "90B182FC7F74865B40B1E5807CFEBF41"
        ["unixtime"]=>
        int(1418745227)
        ["updatetime"]=>
        string(19) "2014-12-16 23:53:47"
      }
      [1]=>
      array(4) {
        ["content"]=>
        string(192) "有一天我看着报纸,小声嘟囔着一篇文章的题目鸟儿也有外语,丈夫听了对了一句:鸟儿当然也有‘外遇’。原来丈夫听错了,我笑得前仰后合。"
        ["hashId"]=>
        string(32) "206F5C52FD2ED94772CBC66C8AC61F2A"
        ["unixtime"]=>
        int(1418745227)
        ["updatetime"]=>
        string(19) "2014-12-16 23:53:47"
      }
      [2]=>
      array(4) {
        ["content"]=>
        string(363) "新提拔的经理觉得从员工中得到的尊重不够,于是一天戴上一枚自制的徽章,上面写着:“我是头儿!”然后在办公室神气地来回巡视。中午吃完饭后,经理回到办公室,看见桌上留着一张字条,上面写着:“你的妻子打来电话,说让你记着下班后把徽章带回去,她要用。”"
        ["hashId"]=>
        string(32) "B36BF69DC3B622BD8A4F5A7740C31806"
        ["unixtime"]=>
        int(1418745227)
        ["updatetime"]=>
        string(19) "2014-12-16 23:53:47"
      }
    }
  }
  ["error_code"]=>
  int(0)
}

3 .Latest jokes

요청 매개변수

Name Required Type Description
key is string 개인센터에 있어요 - >내 데이터,인터페이스 이름 위의 보기
pagesize No int 매회 반환되는 항목 수, 기본값 1, 최대 20
page No int Number 현재 페이지 수, 기본값 1, 최대 20

코드 예

<?php

//请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/joke/content/text.php&#39;;

//请求参数
$params = [
    &#39;key&#39; => 聚合数据上申请的接口调用key,
    &#39;page&#39; => 1,
    &#39;pagesize&#39; => 3
];
//参数数组转换成字符串
$paramsString = http_build_query($params);

//发起接口网络请求
$response = null;
try {
    $response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行具体的异常处理
}
if (!$response) {
    echo &#39;请求异常&#39; . PHP_EOL;
}
//接收接口返回内容
$result = json_decode($response, true);
if (!$result) {
    echo &#39;请求异常&#39; . PHP_EOL;
}
$errorCode = $result[&#39;error_code&#39;];
if ($errorCode == 0) {
    $data = $result[&#39;result&#39;];
} else {
    echo "请求异常:{$errorCode}_{$result[&#39;reason&#39;]}" . PHP_EOL;
}
//打印接口返回结果
var_dump($result);

/**
 * 发起网络请求函数
 * @param String $url 请求的URL
 * @param bool $params  请求的参数内容
 * @param int $isPost   是否POST请求
 * @return bool|string  返回内容
 */
function juheHttpRequest($url, $params = false, $isPost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT,  &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    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 . &#39;?&#39; . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $reponse = curl_exec($ch);
    if ($reponse === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $reponse;
}

반환 결과 예

array(3) {
  ["reason"]=>
  string(7) "Success"
  ["result"]=>
  array(1) {
    ["data"]=>
    array(3) {
      [0]=>
      array(4) {
        ["content"]=>
        string(335) "    小区门口修车师傅生意特好。人实在,只要不换零件,常常不收钱或只收个块把钱辛苦钱。最近发现他心黑了,价钱明显上调,就连充个气也收1块钱。旁边书报亭大妈是知情人,: 唉,多担待一下吧!他家上个月二胎,一窝生了四个带把的。。。。"
        ["hashId"]=>
        string(32) "2e010657b420dcee335c870bf9a18301"
        ["unixtime"]=>
        int(1559789702)
        ["updatetime"]=>
        string(19) "2019-06-06 10:55:02"
      }
      [1]=>
      array(4) {
        ["content"]=>
        string(246) "前天和同事去逛超市,说好久没买肉吃了,于是去看猪肉,结果看到的最便宜的猪肉都要十八块多,同事当场惊呼:“猪怎么了,这是!”卖肉的师傅笑着说:“猪没事,就是涨价了。”"
        ["hashId"]=>
        string(32) "d261d1f0d76bdc665d80f104cf7a7d65"
        ["unixtime"]=>
        int(1556845202)
        ["updatetime"]=>
        string(19) "2019-05-03 09:00:02"
      }
      [2]=>
      array(4) {
        ["content"]=>
        string(518) "去小卖部买烟,10块钱一盒的,给老板100,老板喜咪咪的看着我说:“我没零钱找你,就让我闺女陪你一晚抵账得了。”我一激动:“你老别介啊,我攒个私房钱出来偷偷买烟,真的很不容易啊!”老板:“怎么,你不愿意?要不然我去把我闺女叫出来!”我:“别!别!这钱你不用找了,千万别让您闺女知道我藏私房钱啊!”老板:“好女婿,只要你经常来买东西,我保证不说!哈哈哈”"
        ["hashId"]=>
        string(32) "7d6e3f6cda682c18c3bc122a767b8756"
        ["unixtime"]=>
        int(1556845202)
        ["updatetime"]=>
        string(19) "2019-05-03 09:00:02"
      }
    }
  }
  ["error_code"]=>
  int(0)
}

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 농담 목록을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.