>백엔드 개발 >PHP 문제 >PHP에서 뉴스 헤드라인을 쿼리하는 방법

PHP에서 뉴스 헤드라인을 쿼리하는 방법

藏色散人
藏色散人원래의
2022-10-19 17:32:531327검색

PHP에서 뉴스 헤드라인을 쿼리하는 방법: 1. 무료 뉴스 헤드라인 인터페이스를 엽니다. 2. 뉴스 헤드라인 인터페이스 URL 및 매개변수를 요청합니다. 3. 인터페이스 요청을 시작하고 인터페이스를 처리하여 결과를 반환합니다. juheHttpRequest($url, $ params = false, $ispost = 0){...}" 네트워크 요청을 시작합니다.

PHP에서 뉴스 헤드라인을 쿼리하는 방법

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

PHP에서 뉴스 헤드라인을 쿼리하는 방법은 무엇입니까?

PHP 기반의 무료 뉴스 헤드라인 인터페이스 쿼리

1. 인터페이스 열기

뉴스 헤드라인 인터페이스 서비스에서 사용되는 집계 데이터로 제공되는 무료 인터페이스는 하루에 100번 무료로 호출할 수 있습니다.

https://www.juhe.cn/docs/api/id/235?s=cpphpcn를 통해 등록하고 활성화할 수 있습니다.

2. 뉴스 헤드라인 목록 쿼리

<?php
/**
 * 聚合新闻头条列表发起请求-PHP代码
 * 功能:最新新闻头条,各类社会、国内、国际、体育、娱乐、科技等资讯。
 */
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/toutiao/index&#39;;
// 请求参数
$params = [
    &#39;type&#39; => &#39;top&#39;, // 新闻类型
    &#39;key&#39; => &#39;xxxxxx&#39;, // 接口调用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[&#39;error_code&#39;] == 0) {
        // 请求成功,根据自身业务逻辑修改处理
        $news = $result[&#39;result&#39;][&#39;data&#39;];
        if ($news) {
            foreach ($news as $key => $newsInfo) {
                // 更多字段,请参考官方接口文档
                echo $newsInfo[&#39;title&#39;].PHP_EOL;
            }
        }
    } else {
        // 请求异常,根据自身业务逻辑修改处理
        echo "{$result[&#39;error_code&#39;]}:{$result[&#39;reason&#39;]}" . PHP_EOL;
    }
} else {
    //可能网络异常等问题请求失败,根据自身业务逻辑修改处理
    echo "请求失败";
}

3. 뉴스 헤드라인 세부정보 쿼리

<?php
/**
 * 聚合新闻头条 - 新闻详情查询
 * 功能:最新新闻头条,各类社会、国内、国际、体育、娱乐、科技等资讯。
 */
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/toutiao/content&#39;;
// 请求参数
$params = [
    &#39;uniquekey&#39; => &#39;f9b3e37d91b452e182eda11db61e9c99&#39;, // 新闻ID
    &#39;key&#39; => &#39;xxxxxx&#39;, // 接口调用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[&#39;error_code&#39;] == 0) {
        // 请求成功,根据自身业务逻辑修改处理
        $newsContent = $result[&#39;result&#39;][&#39;content&#39;];
        echo $newsContent;
    } else {
        // 请求异常,根据自身业务逻辑修改处理
        echo "{$result[&#39;error_code&#39;]}:{$result[&#39;reason&#39;]}" . 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, &#39;JUHE API&#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);
        }
    }
    $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 비디오 튜토리얼"

위 내용은 PHP에서 뉴스 헤드라인을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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