현재 위치: > 최신 기사 목록> Baidu Wenxin Yiyan API 요청 프록시 및 리버스 프록시 구현에 대한 자습서

Baidu Wenxin Yiyan API 요청 프록시 및 리버스 프록시 구현에 대한 자습서

M66 2025-06-24

PHP 코드를 사용하여 Baidu Wenxin Yiyan API 인터페이스의 요청 프록시 및 리버스 프록시를 구현하십시오.

개요

Baidu Wenxin Yiyan Api는 웹 사이트와 앱에서 널리 사용되는 다양한 임의의 문장과 유명한 인용문을 제공합니다. 통화 제한 및 보안 고려 사항으로 인해이 API에 액세스하기 위해 프록시 또는 리버스 프록시를 사용해야하는 일반적인 요구 사항이되었습니다. 프록시는 실제 IP를 숨길뿐만 아니라 요청 헤더를 최적화하고 요청 성공률을 향상시킬 수 있습니다.

프록시를 요청하십시오

요청 프록시는 클라이언트 요청이 먼저 프록시 서버로 전송되고 프록시 서버는 클라이언트를 대신하여 Baidu Wenxin Yiyan API에 대한 요청을 시작하여 실제 IP를 숨기고 요청 헤더를 위장합니다. 다음은 PHP를 사용하여 간단한 HTTP 프록시 서버를 생성하기위한 샘플 코드입니다.
<?php
// 프록시 서버를 만듭니다
$proxy = stream_socket_server('tcp://127.0.0.1:8000', $errno, $errstr);
if (!$proxy) {
    die("프록시 서버를 생성하지 못했습니다:$errstr ($errno)");
}

while (true) {
    // 클라이언트 연결 요청을 수락합니다
    $client = stream_socket_accept($proxy);
    if ($client) {
        // 클라이언트의 요청을 읽습니다
        $request = fread($client, 8192);

        // 요청 헤더를 수정하십시오,Baidu Wenxin의 말로 위장했습니다API요구
        $request = str_replace(
            'Host: localhost:8000',
            'Host: api.lovelive.tools',
            $request
        );

        // 만들고API인터페이스 연결
        $api = stream_socket_client('tcp://api.lovelive.tools:80', $errno, $errstr, 30);
        if ($api) {
            // 쪽으로API인터페이스는 요청을 보냅니다
            fwrite($api, $request);

            // 얻다API그리고 고객에게 응답을 반환하십시오
            while (!feof($api)) {
                fwrite($client, fread($api, 8192));
            }
            fclose($api);
        } else {
            fclose($client);
        }
    }
}
fclose($proxy);

코드를 proxy.php로 저장하고 명령 줄을 통해 실행하십시오.

Php proxy.php

이번에는 프록시 서버가 포트 127.0.0.1:8000에서 실행됩니다.

CURL 명령을 사용하여 프록시를 통해 요청을 보내는 예 :

Curl -X LocalHost : 8000 https://api.lovelive.tools/api/sweetnothings/1

역 프록시

리버스 프록시는 클라이언트 요청을 서버 구성을 통해 대상 API 서버로 전달하여로드 밸런싱 및 요청 전달을 실현합니다. 다음은 요청을 로컬 프록시 서버로 전달하는 예제 NGINX 구성입니다.
서버 {
    80;
    server_name api.mydomain.com;

    위치 / {
        proxy_pass http : // localhost : 8000;
        proxy_set_header 호스트 api.lovelive.tools;
    }
}

리버스 프록시 PHP 코드 예제, 요청 전달 및 응답 반환 구현 :

<?php
// 만들고API인터페이스 연결
$api = stream_socket_client('tcp://api.lovelive.tools:80', $errno, $errstr, 30);
if ($api) {
    // 클라이언트의 요청을 읽습니다体
    $request = file_get_contents('php://input');

    // 쪽으로API인터페이스는 요청을 보냅니다
    fwrite($api, $request);

    // 얻다API클라이언트에 응답하고 돌아갑니다
    while (!feof($api)) {
        echo fread($api, 8192);
    }
    fclose($api);
} else {
    header('HTTP/1.1 500 Internal Server Error');
    echo "그리고API인터페이스 연결이 실패했습니다";
}

코드를 Reverse_proxy.php로 저장하고 명령 행을 시작하십시오.

PHP -S 로컬 호스트 : 8000 reverse_proxy.php

리버스 프록시 서버는 LocalHost : 8000 포트에서 실행될 수 있습니다.

클라이언트 요청은 API.mydomain.com으로 직접 전송되며 서버는 Baidu Wenxin Yiyan API로 전달하고 응답을 반환해야합니다.

요약

이 기사는 PHP를 사용하여 요청 프록시 및 Baidu Wenxin Yiyan API의 리버스 프록시를 구현하는 방법을 소개하여 개발자가 API 요청을 유연하게 제어하고 응용 프로그램 보안을 보호 할 수 있도록 도와줍니다. 프록시 서버는 IP를 숨기고 리버스 프록시는로드 밸런싱 및 요청 전달을 구현합니다. 샘플 코드와 구성은 간결하고 실용적이며 다양한 비즈니스 시나리오를 충족 해야하는 요구에 따라 사용자 정의 할 수 있습니다.