百度翻译C#API接口
来源:互联网 发布:淘宝直通车计划 编辑:程序博客网 时间:2024/06/05 08:15
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Security.Cryptography;using System.Text;using System.Threading.Tasks;namespace Baidufy{ class Program { static void Main(string[] args) { TransApi transApi = new TransApi("appid", "securityKey"); string result = transApi.GetTransResult("你好", "auto", "auto"); Console.WriteLine(result); Console.ReadKey(); } }}
</pre><pre code_snippet_id="1974210" snippet_file_name="blog_20161108_5_3256585" name="code" class="csharp">using System;using System.Collections.Generic;using System.IO;using System.IO.Compression;using System.Linq;using System.Net;using System.Runtime.Serialization;using System.Runtime.Serialization.Json;using System.Security.Cryptography;using System.Text;using System.Threading.Tasks;using System.Web;namespace Baidufy{ public class TransApi { private static string TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate?q={0}&from={1}&to={2}&appid={3}&salt={4}&sign={5}"; private string appid; private string securityKey; public TransApi(string appid, string securityKey) { this.appid = appid; this.securityKey = securityKey; } public string GetTransResult(string query, string from, string to) { string q = System.Web.HttpUtility.UrlEncode(query, System.Text.Encoding.UTF8); Random rnd = new Random(); string salt = rnd.Next().ToString(); string sign = GetMD5(appid + query + salt + securityKey); string address = string.Format(TRANS_API_HOST, q, from, to, appid, salt, sign); HttpWebRequest request; request = (HttpWebRequest)HttpWebRequest.Create(address); request.Method = "GET"; request.ProtocolVersion = HttpVersion.Version11; //request.Connection = "keep-alive"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.861.0 Safari/535.2"; request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.Timeout = 10000; //request.Headers.Add("Connection", "keep-alive"); request.Headers.Add("Accept-Encoding", "gzip,deflate,sdch"); request.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8"); request.Headers.Add("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3"); request.CookieContainer = new CookieContainer(); HttpWebResponse response; response = (HttpWebResponse)request.GetResponse(); Stream st; st = response.GetResponseStream(); GZipStream temp = null; StreamReader stReader; if (response.ContentEncoding.ToLower().Contains("gzip")) { temp = new GZipStream(st, CompressionMode.Decompress, true); stReader = new StreamReader(temp, Encoding.Default); } else { stReader = new StreamReader(st, Encoding.Default); } string text; text = stReader.ReadToEnd(); stReader.Close(); if (temp != null) temp.Close(); st.Close(); BaiduResult r = JsonGet(text); if (r != null && r.trans_result != null && r.trans_result.Length > 0) return r.trans_result[0].dst; else return ""; } /// <summary> /// 加密成32位小写的MD5 /// </summary> /// <param name="myString">传入需要加密的字符串</param> /// <returns>返回加密后的字符串</returns> public static string GetMD5(string myString) { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(myString, "MD5").ToLower(); } public static BaiduResult JsonGet(string jsonString) { if (jsonString.Length > 0) { var ms = new MemoryStream(Encoding.Default.GetBytes(jsonString)); return (BaiduResult)new DataContractJsonSerializer(typeof(BaiduResult)).ReadObject(ms); } return null; } } public class BaiduResult { [DataMember(Order = 0, IsRequired = true)] public string from; [DataMember(Order = 1)] public string to; public class Trans_result { public string src; public string dst; } [DataMember(Order = 2)] public Trans_result[] trans_result; }}
1 0
- 百度翻译C#API接口
- 使用c通过HTTP接口使用百度翻译API
- c#:使用百度翻译API
- 百度翻译API(C#)
- 用java多线程实现“百度翻译接口API快速翻译”
- 调用百度翻译API
- 百度翻译api开发
- 百度翻译API请求
- 百度翻译接口
- 百度翻译接口
- 微软翻译api接口
- 百度推广api接口
- 百度API接口
- 百度音乐接口API
- 百度音乐API接口
- 百度地图API接口
- 百度图片API接口
- 百度音乐api接口
- 箭头小三角(向上或向下、两条边)--两种制作方法
- 线程操作范例
- 单例的书写与通知、代理、Block简单的传值
- mysql5操作用户
- mysql数据库新建管理员
- 百度翻译C#API接口
- opeartor 关键字重载 实验
- 静态代码块,非静态代码块,构造函数,普通方法执行顺序
- 面向对象final关键字
- 黑盒算法识别-设计
- linux命令——login
- android 查询
- Uvalive 7037 The Problem Needs 3D Arrays(最大密度子图)
- ROS Navigation-----局部避障的动态窗口算法(DWA)