Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menggunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Itali

Menggunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Itali

王林
王林asal
2023-08-12 16:57:281271semak imbas

Menggunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Itali

Gunakan bahasa Go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Itali

Abstrak:
Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangun dan merealisasikan terjemahan bersama antara bahasa Cina dan Itali melalui API Terjemahan Baidu. Kami akan menggunakan API yang disediakan oleh platform pembangun Baidu Translate untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan.

1. Persediaan
Sebelum bermula, kita perlu melakukan beberapa persediaan:

  1. Daftar akaun pembangun Baidu. Jika anda belum mempunyai akaun, anda boleh mendaftar akaun pembangun melalui laman web rasmi.
  2. Log masuk ke Platform Pembangun Baidu, buat aplikasi baharu dalam "Aplikasi Saya", dan jana Kunci API dan Kunci Rahsia. Ini akan digunakan untuk pengesahan apabila membuat permintaan kepada API Terjemahan Baidu.

2. Contoh Kod
Berikut ialah contoh kod mudah untuk menunjukkan cara menggunakan bahasa Go untuk memanggil API Terjemahan Baidu untuk terjemahan teks.

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

func main() {
    apiURL := "https://fanyi-api.baidu.com/api/trans/vip/translate"
    apiKey := "your_api_key"
    secretKey := "your_secret_key"

    // 要翻译的文本
    q := "你好"
    // 源语言和目标语言
    from := "zh"
    to := "it"

    // 构造请求URL
    urlStr := fmt.Sprintf("%s?q=%s&from=%s&to=%s&appid=%s&salt=%s&sign=%s",
        apiURL, url.QueryEscape(q), from, to, apiKey, "123456", sign(q, "123456", apiKey, secretKey))

    // 发送请求并获取响应
    resp, err := http.Get(urlStr)
    if err != nil {
        fmt.Println("请求百度翻译API失败:", err)
        return
    }
    defer resp.Body.Close()

    // 解析并打印翻译结果
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

// 计算签名
func sign(q, salt, appID, secretKey string) string {
    signStr := appID + q + salt + secretKey
    return Md5(signStr)
}

// 计算字符串的MD5值
func Md5(str string) string {
    md5Ctx := md5.New()
    md5Ctx.Write([]byte(str))
    return hex.EncodeToString(md5Ctx.Sum(nil))
}

Dalam kod di atas, kami mula-mula menetapkan URL API Terjemahan Baidu dan Kunci API serta Kunci Rahsia yang dijana semasa kami mencipta aplikasi pada Platform Pembangun Baidu. Seterusnya, kami menyediakan teks untuk diterjemahkan (iaitu pembolehubah q), bahasa sumber dan bahasa sasaran. Kami menjana tandatangan permintaan dengan memanggil fungsi sign() dan membina URL permintaan yang lengkap. Akhir sekali, kami menghantar permintaan HTTP GET dan mendapatkan hasil terjemahan dengan membaca respons.

3. Ringkasan
Artikel ini memperkenalkan cara menggunakan pembangunan bahasa Go untuk merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Itali melalui API Terjemahan Baidu. Kami menggunakan API yang disediakan oleh platform pembangun Baidu Translate dan memberikan contoh kod yang sepadan. Pembaca boleh mengikut arahan dalam kod sampel untuk membuat pengubahsuaian dan sambungan yang sepadan untuk memenuhi keperluan mereka sendiri. Melalui pengenalan artikel ini, pembaca boleh lebih memahami cara menggunakan bahasa Go untuk membangunkan dan memanggil API luaran, dan cara melaksanakan fungsi terjemahan teks.

Atas ialah kandungan terperinci Menggunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Itali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn