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其它相關文章!