Maison > Article > développement back-end > Go Language implémente l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et l'allemand
go Language implémente l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et l'allemand
Aperçu :
À l'ère actuelle de la mondialisation, le besoin de communication linguistique devient de plus en plus important. L'API de traduction Baidu fournit des services de traduction en ligne pratiques, et le langage Go, en tant que langage de programmation rapide et efficace, peut facilement appeler l'API de traduction Baidu. Cet article explique comment utiliser le langage Go pour écrire un programme simple permettant de réaliser la fonction de traduction mutuelle entre le chinois et l'allemand.
Travail de préparation :
Avant de commencer à écrire du code, vous devez demander un compte de développeur pour l'API de traduction Baidu et obtenir l'ID d'application et la clé correspondants. Pour les étapes de candidature spécifiques, veuillez vous référer à la documentation officielle de l'API de traduction Baidu. Après avoir obtenu l'ID et la clé de l'application, nous pouvons commencer à écrire du code.
Exemple de code :
package main import ( "fmt" "io/ioutil" "net/http" "net/url" "strings" ) func main() { fromLang := "zh" // 源语言,中文 toLang := "de" // 目标语言,德文 query := "你好" // 要翻译的文本 appID := "your_app_id" // 替换为自己的应用ID appSecret := "your_app_key" // 替换为自己的应用密钥 apiURL := "https://fanyi-api.baidu.com/api/trans/vip/translate" data := url.Values{} data.Set("q", query) data.Set("from", fromLang) data.Set("to", toLang) data.Set("appid", appID) salt := "1435660288" data.Set("salt", salt) sign := appID + query + salt + appSecret // 计算签名 sign = strings.ToLower(sign) sign = fmt.Sprintf("%x", sha256.Sum256([]byte(sign))) data.Set("sign", sign) req, err := http.NewRequest("POST", apiURL, strings.NewReader(data.Encode())) if err != nil { fmt.Println("Error occurred while creating request:", err) return } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("Error occurred while sending request:", err) return } body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error occurred while reading response:", err) return } fmt.Println(string(body)) }
Exemple de résultats d'exécution :
{ "from": "zh", "to": "de", "trans_result": [{ "src": "你好", "dst": "Hallo" }] }
Analyse du code :
Le code ci-dessus envoie une requête à l'API de traduction Baidu via une requête HTTP POST et obtient le résultat de la traduction. Parmi eux, nous définissons d’abord la langue source, la langue cible et le texte à traduire. Ensuite, conformément aux exigences de la documentation officielle, nous avons fusionné l'URL de la demande et calculé la valeur du signe. Ensuite, nous créons une requête HTTP et définissons le Content-Type de l'en-tête de la requête. Ensuite, envoyez la demande et lisez le résultat de la réponse. Enfin, imprimez les résultats de la traduction.
Résumé :
En utilisant le langage Go, nous pouvons facilement appeler l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et l'allemand. Dans les projets réels, nous pouvons effectuer davantage d’extensions et d’optimisations selon les besoins. J'espère que l'exemple de code présenté dans cet article pourra être utile aux lecteurs et favoriser le développement ultérieur de la communication linguistique.
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!