您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何查詢新聞?lì)^條”,在日常操作中,相信很多人在php如何查詢新聞?lì)^條問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php如何查詢新聞?lì)^條”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
php查詢新聞?lì)^條的方法:1、開通免費(fèi)的新聞?lì)^條接口;2、請(qǐng)求新聞?lì)^條接口URL及參數(shù);3、發(fā)起接口請(qǐng)求并處理接口返回結(jié)果;4、通過“function juheHttpRequest($url, $params = false, $ispost = 0){...}”方式發(fā)起網(wǎng)絡(luò)請(qǐng)求即可。
php怎么查詢新聞?lì)^條?
基于PHP的免費(fèi)新聞?lì)^條接口查詢
1、開通接口
新聞?lì)^條接口服務(wù)使用的聚合數(shù)據(jù)提供的免費(fèi)接口,每天可以100次免費(fèi)調(diào)用。
可以通過https://www.juhe.cn/docs/api/id/235?s=cpphpcn
注冊(cè)及開通。
2、新聞?lì)^條列表查詢
<?php
/**
* 聚合新聞?lì)^條列表發(fā)起請(qǐng)求-PHP代碼
* 功能:最新新聞?lì)^條,各類社會(huì)、國(guó)內(nèi)、國(guó)際、體育、娛樂、科技等資訊。
*/
// 請(qǐng)求的接口URL
$apiUrl = 'http://v.juhe.cn/toutiao/index';
// 請(qǐng)求參數(shù)
$params = [
'type' => 'top', // 新聞?lì)愋?
'key' => 'xxxxxx', // 接口調(diào)用key,通過聚合平臺(tái)申請(qǐng)開通
];
$paramsString = http_build_query($params);
// 發(fā)起接口請(qǐng)求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 處理接口返回結(jié)果,根據(jù)自身業(yè)務(wù)邏輯修改處理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
if ($result['error_code'] == 0) {
// 請(qǐng)求成功,根據(jù)自身業(yè)務(wù)邏輯修改處理
$news = $result['result']['data'];
if ($news) {
foreach ($news as $key => $newsInfo) {
// 更多字段,請(qǐng)參考官方接口文檔
echo $newsInfo['title'].PHP_EOL;
}
}
} else {
// 請(qǐng)求異常,根據(jù)自身業(yè)務(wù)邏輯修改處理
echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
}
} else {
//可能網(wǎng)絡(luò)異常等問題請(qǐng)求失敗,根據(jù)自身業(yè)務(wù)邏輯修改處理
echo "請(qǐng)求失敗";
}
3、新聞?lì)^條詳情查詢
<?php
/**
* 聚合新聞?lì)^條 - 新聞詳情查詢
* 功能:最新新聞?lì)^條,各類社會(huì)、國(guó)內(nèi)、國(guó)際、體育、娛樂、科技等資訊。
*/
// 請(qǐng)求的接口URL
$apiUrl = 'http://v.juhe.cn/toutiao/content';
// 請(qǐng)求參數(shù)
$params = [
'uniquekey' => 'f9b3e37d91b452e182eda11db61e9c99', // 新聞ID
'key' => 'xxxxxx', // 接口調(diào)用key,通過聚合平臺(tái)申請(qǐng)開通
];
$paramsString = http_build_query($params);
// 發(fā)起接口請(qǐng)求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 處理接口返回結(jié)果,根據(jù)自身業(yè)務(wù)邏輯修改處理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
if ($result['error_code'] == 0) {
// 請(qǐng)求成功,根據(jù)自身業(yè)務(wù)邏輯修改處理
$newsContent = $result['result']['content'];
echo $newsContent;
} else {
// 請(qǐng)求異常,根據(jù)自身業(yè)務(wù)邏輯修改處理
echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
}
} else {
//可能網(wǎng)絡(luò)異常等問題請(qǐng)求失敗,根據(jù)自身業(yè)務(wù)邏輯修改處理
echo "請(qǐng)求失敗";
}
4、通用HTTP網(wǎng)絡(luò)請(qǐng)求函數(shù)
/**
* 發(fā)起網(wǎng)絡(luò)請(qǐng)求函數(shù)
* @param string $url 請(qǐng)求的URL
* @param bool $params 請(qǐng)求的參數(shù)內(nèi)容
* @param int $ispost 是否POST請(qǐng)求
* @return bool|string 返回內(nèi)容
*/
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;
}
到此,關(guān)于“php如何查詢新聞?lì)^條”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。