Position actuelle: Accueil> Derniers articles> Tutoriel sur la mise en œuvre de Baidu Wenxin Yiyan API demande proxy et proxy inversé

Tutoriel sur la mise en œuvre de Baidu Wenxin Yiyan API demande proxy et proxy inversé

M66 2025-06-24

Utilisez le code PHP pour implémenter le proxy de demande et l'inverse proxy pour l'interface API Baidu Wenxin Yiyan

Aperçu

L'API Baidu Wenxin Yiyan fournit une riche variété de phrases aléatoires et de citations célèbres, qui sont largement utilisées dans les sites Web et les applications. En raison des limitations d'appel et des considérations de sécurité, il est devenu une exigence commune d'utiliser un proxy ou un proxy inversé pour accéder à cette API. Le proxy peut non seulement masquer l'IP réel, mais également optimiser l'en-tête de demande et améliorer le taux de réussite de la demande.

Demander un proxy

Le proxy de demande signifie que la demande du client est d'abord envoyée au serveur de proxy, et le serveur proxy initie une demande à Baidu Wenxin Yiyan API au nom du client, cachant ainsi la véritable adresse IP et déguisant l'en-tête de demande. Ce qui suit est un exemple de code pour créer un serveur proxy HTTP simple à l'aide de PHP:
<?php
// Créer un serveur proxy
$proxy = stream_socket_server('tcp://127.0.0.1:8000', $errno, $errstr);
if (!$proxy) {
    die("Échec de la création d&#39;un serveur proxy:$errstr ($errno)");
}

while (true) {
    // Acceptez les demandes de connexion du client
    $client = stream_socket_accept($proxy);
    if ($client) {
        // Lire les demandes du client
        $request = fread($client, 8192);

        // Modifiez l&#39;en-tête de demande,Déguisé en paroles de Baidu WenxinAPIDemande
        $request = str_replace(
            'Host: localhost:8000',
            'Host: api.lovelive.tools',
            $request
        );

        // Créer etAPIConnexion de l&#39;interface
        $api = stream_socket_client('tcp://api.lovelive.tools:80', $errno, $errstr, 30);
        if ($api) {
            // VersAPIInterface envoie la demande
            fwrite($api, $request);

            // ObtenirAPIet renvoyer la réponse au client
            while (!feof($api)) {
                fwrite($client, fread($api, 8192));
            }
            fclose($api);
        } else {
            fclose($client);
        }
    }
}
fclose($proxy);

Enregistrez le code sous proxy.php et exécutez-le via la ligne de commande:

php proxy.php

Cette fois, le serveur proxy s'exécute sur le port 127.0.0.1:8000.

Exemple d'envoi de demandes via Proxy à l'aide de la commande curl:

curl -x localhost: 8000 https://api.lovelive.tools/api/sweetnothings/1

Proxy inversé

Le proxy inversé transfère les demandes du client au serveur API cible via la configuration du serveur, réalisant l'équilibrage de charge et le transfert de demande. Ce qui suit est un exemple de configuration Nginx qui transmet la demande au serveur proxy local:
serveur {
    Écoutez 80;
    server_name api.mydomain.com;

    emplacement / {
        proxy_pass http: // localhost: 8000;
        proxy_set_header hôte api.lovelive.tools;
    }
}

Exemple de code PHP proxy inversé, implémentation de la requête de la demande et rendement de la réponse:

<?php
// Créer etAPIConnexion de l&#39;interface
$api = stream_socket_client('tcp://api.lovelive.tools:80', $errno, $errstr, 30);
if ($api) {
    // Lire les demandes du client体
    $request = file_get_contents('php://input');

    // VersAPIInterface envoie la demande
    fwrite($api, $request);

    // ObtenirAPIRépondre et retourner au client
    while (!feof($api)) {
        echo fread($api, 8192);
    }
    fclose($api);
} else {
    header('HTTP/1.1 500 Internal Server Error');
    echo "etAPILa connexion d&#39;interface a échoué";
}

Enregistrez le code sous revers_proxy.php, démarrez la ligne de commande:

php -s localhost: 8000 reverse_proxy.php

Le serveur proxy inversé peut s'exécuter sur le port localhost: 8000.

La demande du client est envoyée directement à api.mydomain.com, et le serveur est responsable de le transmettre à l'API Baidu Wenxin Yiyan et de renvoyer la réponse.

Résumer

Cet article présente comment utiliser PHP pour implémenter le proxy de demande et l'inverse proxy de l'API Baidu Wenxin Yiyan, aidant les développeurs à contrôler de manière flexible les demandes d'API et à protéger la sécurité des applications. Le serveur proxy masque l'IP, tandis que le proxy inversé implémente l'équilibrage de chargement et le transfert de demande. L'exemple de code et de configuration sont concis et pratiques, et peuvent être personnalisés en fonction des besoins pour répondre à divers scénarios commerciaux.