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

WBOY
풀어 주다: 2023-08-12 17:24:01
원래의
979명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿