php怎麼查詢新聞頭條

2022-10-19 18:00:25

php查詢新聞頭條的方法:1、開通免費的新聞頭條介面;2、請求新聞頭條介面URL及引數;3、發起介面請求並處理介面返回結果;4、通過「function juheHttpRequest($url, $params = false, $ispost = 0){...}」方式發起網路請求即可。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

php怎麼查詢新聞頭條?

基於PHP的免費新聞頭條介面查詢

1、開通介面

新聞頭條介面服務使用的聚合資料提供的免費介面,每天可以100次免費呼叫。

可以通過https://www.juhe.cn/docs/api/id/235?s=cpphpcn註冊及開通。

2、新聞頭條列表查詢

<?php
/**
 * 聚合新聞頭條列表發起請求-PHP程式碼
 * 功能:最新新聞頭條,各類社會、國內、國際、體育、娛樂、科技等資訊。
 */
// 請求的介面URL
$apiUrl = 'http://v.juhe.cn/toutiao/index';
// 請求引數
$params = [
    'type' => 'top', // 新聞型別
    'key' => 'xxxxxx', // 介面呼叫key,通過聚合平臺申請開通
];
$paramsString = http_build_query($params);
// 發起介面請求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 處理介面返回結果,根據自身業務邏輯修改處理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
    if ($result['error_code'] == 0) {
        // 請求成功,根據自身業務邏輯修改處理
        $news = $result['result']['data'];
        if ($news) {
            foreach ($news as $key => $newsInfo) {
                // 更多欄位,請參考官方介面檔案
                echo $newsInfo['title'].PHP_EOL;
            }
        }
    } else {
        // 請求異常,根據自身業務邏輯修改處理
        echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
    }
} else {
    //可能網路異常等問題請求失敗,根據自身業務邏輯修改處理
    echo "請求失敗";
}
登入後複製

3、新聞頭條詳情查詢

<?php
/**
 * 聚合新聞頭條 - 新聞詳情查詢
 * 功能:最新新聞頭條,各類社會、國內、國際、體育、娛樂、科技等資訊。
 */
// 請求的介面URL
$apiUrl = 'http://v.juhe.cn/toutiao/content';
// 請求引數
$params = [
    'uniquekey' => 'f9b3e37d91b452e182eda11db61e9c99', // 新聞ID
    'key' => 'xxxxxx', // 介面呼叫key,通過聚合平臺申請開通
];
$paramsString = http_build_query($params);
// 發起介面請求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 處理介面返回結果,根據自身業務邏輯修改處理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
    if ($result['error_code'] == 0) {
        // 請求成功,根據自身業務邏輯修改處理
        $newsContent = $result['result']['content'];
        echo $newsContent;
    } else {
        // 請求異常,根據自身業務邏輯修改處理
        echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
    }
} else {
    //可能網路異常等問題請求失敗,根據自身業務邏輯修改處理
    echo "請求失敗";
}
登入後複製

4、通用HTTP網路請求函數

/**
 * 發起網路請求函數
 * @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, 'JUHE API');
    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);
        }
    }
    $response = curl_exec($ch);
    if ($response === 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 $response;
}
登入後複製

推薦學習:《》

以上就是php怎麼查詢新聞頭條的詳細內容,更多請關注TW511.COM其它相關文章!