Maison >développement back-end >Golang >Écrivez l'API de traduction Baidu en langue Go pour implémenter la fonction de traduction en chinois et en français

Écrivez l'API de traduction Baidu en langue Go pour implémenter la fonction de traduction en chinois et en français

WBOY
WBOYoriginal
2023-08-06 15:25:171165parcourir

L'API de traduction Baidu est écrite en langue Go pour implémenter des fonctions de traduction en chinois et en français

L'API de traduction Baidu est un outil largement utilisé dans la traduction de diverses langues. Elle fournit une interface simple et facile à utiliser pour faciliter l'intégration de la traduction par les développeurs. leurs propres applications. Cet article prendra la langue Go comme exemple pour présenter comment réaliser une traduction chinois-français via l'API de traduction Baidu.

Tout d'abord, nous devons créer un compte dans Baidu Developer Center et créer une application de traduction. Une fois l'enregistrement terminé, vous pouvez obtenir un identifiant d'application et une clé, qui seront utilisés pour les appels API ultérieurs.

Avant de commencer à écrire du code, nous devons utiliser le package http du langage go pour effectuer des requêtes réseau. Le package peut être installé en exécutant la commande suivante dans le terminal :

go get -u github.com/go-resty/resty

Une fois l'installation terminée, nous pouvons écrire le code suivant pour implémenter la fonction de traduction :

package main

import (
    "fmt"
    "github.com/go-resty/resty/v2" // 引入http请求包
    "log"
)

func main() {
    appID := "your_app_id" // 替换为你的App ID
    key := "your_key" // 替换为你的密钥
    url := "https://fanyi-api.baidu.com/api/trans/vip/translate"

    // 获取用户输入的要翻译的文本
    var text string
    fmt.Print("请输入要翻译的文本:")
    fmt.Scan(&text)

    // 构建参数
    params := map[string]string{
        "q":     text,
        "from":  "zh",
        "to":    "fra",
        "appid": appID,
        "salt":  "123456",
        "sign":  "", // 签名将在后面计算
    }

    // 计算签名
    sign := Sign(text, params["appid"], params["salt"], key)
    params["sign"] = sign

    // 发送请求
    client := resty.New()
    resp, err := client.R().
        SetQueryParams(params).
        Get(url)
    if err != nil {
        log.Fatal(err)
    }

    // 处理响应
    fmt.Println(resp.String())

    // 解析响应结果
    // 可以根据需要进行结果处理和展示
}

// 计算签名函数
func Sign(query, appID, salt, key string) string {
    signStr := appID + query + salt + key
    sign := Md5(signStr)
    return sign
}

// 计算MD5哈希值函数
func Md5(str string) string {
    // 实现略,可以使用go语言自带的crypto/md5包
}

Dans le code, nous définissons d'abord les variables nécessaires, notamment ID d'application, clé de mot de passe, adresse d'interface, etc. Ensuite, récupérez le texte à traduire saisi par l'utilisateur via la fonction fmt.Scan(). fmt.Scan()函数获取用户输入的要翻译的文本。

接下来,我们构建了参数map,并调用Sign()

Ensuite, nous construisons la carte des paramètres et appelons la fonction Sign() pour calculer la signature. La signature est calculée en concaténant l'ID d'application, le texte à traduire, le sel aléatoire et la clé dans un certain ordre, puis en calculant la valeur de hachage MD5 comme signature.

Enfin, nous utilisons le package http pour envoyer une requête GET et imprimer la réponse renvoyée sur la console.

Il convient de noter que les méthodes de mise en œuvre du calcul de signature et du calcul de la valeur de hachage MD5 dans l'exemple de code ci-dessus ne sont pas indiquées. Vous pouvez utiliser le package crypto/md5 fourni avec le langage go pour implémenter ces deux fonctions.

Avant d'exécuter le code, assurez-vous d'avoir remplacé l'ID d'application et de saisir l'exemple de code et d'avoir installé le package de requête http.

Grâce à l'exemple de code ci-dessus, nous pouvons réaliser la fonction d'appel de l'API de traduction Baidu via la langue go pour obtenir une traduction en chinois et en français. Selon les besoins réels, le code peut être encore amélioré, par exemple en analysant les résultats de la traduction en structures et en implémentant une logique de traduction plus complexe.

J'espère que cet article vous aidera à apprendre et à utiliser le langage go pour appeler l'API de traduction Baidu ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn