>  기사  >  백엔드 개발  >  PHP에서 Baidu Wenxin Yiyan API의 비동기 요청을 구현하는 방법은 무엇입니까?

PHP에서 Baidu Wenxin Yiyan API의 비동기 요청을 구현하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-08-12 17:22:48936검색

PHP에서 Baidu Wenxin Yiyan API의 비동기 요청을 구현하는 방법은 무엇입니까?

PHP에서 Baidu Wenxin Yiyan API의 비동기 요청을 구현하는 방법은 무엇입니까?

Baidu Wenxinyiyan API는 무작위 기사 발췌를 제공하는 인터페이스입니다. 이 인터페이스를 호출하면 아름다운 기사의 선택된 발췌문을 얻을 수 있습니다. 이 기사에서는 PHP를 사용하여 Baidu Wenxin Yiyan API에 대한 비동기 요청을 구현하는 방법을 소개합니다.

먼저 Baidu Wenxin Yiyan API의 주소와 매개변수를 얻어야 합니다. Baidu Wenxin Yiyan API의 주소는 http://api.vip68.com/입니다. 주소 뒤에 요청하려는 인터페이스만 연결하면 됩니다. 인터페이스는 문장, 그림, 음성의 세 가지 형태로 나누어져 있으며 필요에 따라 적절한 인터페이스를 선택할 수 있습니다.

PHP에서는 cURL 라이브러리를 사용하여 API에 비동기 요청을 할 수 있습니다. cURL은 다양한 네트워크 요청을 처리할 수 있는 강력한 네트워크 도구입니다. 먼저, PHP에서 cURL 확장을 활성화해야 합니다.

php.ini 파일에서 다음 두 줄 앞의 세미콜론을 찾아 삭제하세요.

;extension=curl
;extension=openssl

그런 다음 Apache 서버를 다시 시작하여 확장 기능을 적용하세요.

다음으로, 다음 코드 예제를 통해 Baidu Wenxin Yiyan API에 대한 비동기 요청을 구현할 수 있습니다.

<?php

function getWisdomQuote() {
    $url = 'http://api.vip68.com/sentence/random';
    
    $ch = curl_init($url);
    
    // 设置cURL选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    
    // 发送异步请求
    curl_multi_add_handle($multi_handle, $ch);
    
    $running = null;
    do {
        curl_multi_exec($multi_handle, $running);
    } while ($running);
    
    // 获取返回结果
    $response = curl_multi_getcontent($ch);
    
    curl_multi_remove_handle($multi_handle, $ch);
    curl_multi_close($multi_handle);
    
    return $response;
}

// 调用函数获取返回结果
$result = getWisdomQuote();

// 处理返回结果
$result = json_decode($result, true);
if ($result && isset($result['data']['content'])) {
    echo $result['data']['content'];
} else {
    echo '获取失败';
}

위 예제에서는 비동기 요청을 보내고 반환된 결과를 얻기 위해 getWisdomQuote 함수를 정의했습니다. 먼저 요청된 URL을 설정한 다음 curl_init 함수를 사용하여 cURL 세션을 초기화해야 합니다. getWisdomQuote函数用于发送异步请求并获取返回结果。首先,我们需要设置请求的URL,然后使用curl_init函数初始化一个cURL会话。

接着,我们设置了一些cURL选项,比如CURLOPT_RETURNTRANSFER用于告诉cURL将请求的结果保存到一个变量中而不是直接输出到浏览器,CURLOPT_HEADER用于告诉cURL不返回响应头部。

然后,我们使用curl_multi_add_handle函数将请求句柄添加到curl_multi对象中,以实现异步请求。

最后,我们使用curl_multi_exec函数执行异步请求,并使用curl_multi_getcontent函数获取返回结果。然后,我们通过json_decode函数将返回结果解码为JSON格式,并通过判断结果是否存在来处理结果。

最后,我们可以在PHP中调用getWisdomQuote

다음으로, 요청 결과를 브라우저에 직접 출력하는 대신 변수에 저장하도록 cURL에 지시하기 위해 CURLOPT_RETURNTRANSFER와 같은 일부 cURL 옵션을 설정했습니다(CURLOPT_HEADER). Yu를 사용하려면 cURL에 응답 헤더를 반환하지 않도록 지시합니다.

그런 다음 curl_multi_add_handle 함수를 사용하여 curl_multi 개체에 요청 핸들을 추가하여 비동기 요청을 구현합니다. 🎜🎜마지막으로 curl_multi_exec 함수를 사용하여 비동기 요청을 수행하고 curl_multi_getcontent 함수를 사용하여 반환 결과를 얻습니다. 그런 다음, 반환된 결과를 json_decode 함수를 통해 JSON 형식으로 디코딩하고, 결과 존재 여부를 판단하여 결과를 처리합니다. 🎜🎜마지막으로 PHP에서 getWisdomQuote 함수를 호출하여 Baidu Wenxin Yiyan의 발췌문을 가져와서 페이지에 결과를 표시할 수 있습니다. 🎜🎜위 단계를 통해 PHP에서 Baidu Wenxin Yiyan API에 대한 비동기 요청을 구현하고 선택된 기사 발췌문을 얻을 수 있습니다. 이 기사가 PHP 비동기 요청 API를 배우고 사용하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 PHP에서 Baidu Wenxin Yiyan API의 비동기 요청을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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