闽公网安备 35020302035485号

5.参考技术文档和 Demo 编写代码。
https://fanyi-api.baidu.com/api/trans/vip/translate输入参数



2.对字符串 1 做 MD5 ,得到 32 位小写的 sign(注意一定转小写)。
4.在生成签名后,发送 HTTP 请求时,如果将 query 拼接在URL上,需要对 query 做 URL encode。
using System;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Web;
class Program
{
static async Task Main(string[] args)
{
while (true)
{
var originalText = Console.ReadLine();
await Translate(originalText);
}
}
static async Task Translate(string originalText)
{
string APP_ID = "*************";//您的APPID
string SecretKey = "****************";//您的密钥
Random random = new Random();
// 堆代码 duidaima.com
string salt = random.Next(10000, 99999).ToString();
// appid + q + salt + 密钥的MD5值
string sign = MD5Encrypt(APP_ID + originalText + salt + SecretKey);
// 将输入的字符串进行URL编码并构造HTTP请求URL
string url = $"https://fanyi-api.baidu.com/api/trans/vip/translate?" +
$"q={HttpUtility.UrlEncode(originalText)}" +
$"&from=en" +
$"&to=zh" +
$"&appid={APP_ID}" +
$"&salt={salt}" +
$"&sign={sign}";
try
{
using (HttpClient client = new HttpClient())
{
// 发送GET请求并获取响应内容
HttpResponseMessage response = await client.GetAsync(url);
string responseBody = await response.Content.ReadAsStringAsync();
// 解析响应JSON并输出翻译结果
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(responseBody);
Console.WriteLine($"{originalText} 的中文翻译为:{result.trans_result[0].dst}");
}
}
catch (HttpRequestException e)
{
Console.WriteLine($"发生HTTP请求错误: {e.Message}");
}
}
public static string MD5Encrypt(string input)
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
using (MD5 md5 = MD5.Create())
{
byte[] hashBytes = md5.ComputeHash(inputBytes);
return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
}
}
}
示例图: