asp.netGoogle的translate工具翻译API
2023-06-13 09:14:07 时间
在这篇,我就利用C#写一个小程序,翻译:
思路是这样的:
1:发送POST(或者GET)
2:获取POST(或者GET)的响应
3:正则匹配我们想要的值。
发生POST(或者GET)的函数:
复制代码代码如下:
思路是这样的:
1:发送POST(或者GET)
2:获取POST(或者GET)的响应
3:正则匹配我们想要的值。
发生POST(或者GET)的函数:
publicstaticstringGetGetRequest(stringurlP,stringencode){
if(null==urlP)returnnull;
stringStrRetP=null;
StreamdataStream=null;
try{
HttpWebRequestmyHttpWebRequest=(HttpWebRequest)WebRequest.Create(urlP);
myHttpWebRequest.Timeout=10000;//10secs
HttpWebResponseObjresponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
//Encodingenc=Encoding.GetEncoding(1252);//WindowsdefaultCodePage
if(Objresponse.StatusDescription=="OK"){//HttpStatusCode.OK
dataStream=Objresponse.GetResponseStream();
EncodingobjE=String.IsNullOrEmpty(encode)?Encoding.GetEncoding(0):Encoding.GetEncoding(encode);
StreamReaderr=newStreamReader(dataStream,objE);
StrRetP=r.ReadToEnd();
}
}catch(Exceptione){
StrRetP=e.Message;
}finally{
if(null!=dataStream)dataStream.Close();
}
returnStrRetP;
}
这个我在前面的一些文章中有所介绍。
然后正则匹配的函数:
publicstaticstringGetMatchString(stringtext,stringpattern,intpoint){
if(String.IsNullOrEmpty(text)||String.IsNullOrEmpty(pattern))returnString.Empty;
Regexrx=newRegex(pattern,RegexOptions.Compiled|RegexOptions.IgnoreCase|RegexOptions.Multiline);
Matchmatch=rx.Match(text);
stringword="";
if(match.Success)word=match.Groups[point].Value;
returnword.Trim();
}
这个数根据一个正则表达数,返回匹配的值。
直接进入Main主体:
publicstaticvoidMain(string[]args){
stringmess="我们";
Console.WriteLine(HttpUtility.UrlEncode("我们"));
mess=GetGetRequest("http://translate.google.com/translate_t?langpair="+HttpUtility.UrlEncode("zh-CN|en")+"&text="+HttpUtility.UrlEncode(mess,System.Text.UnicodeEncoding.GetEncoding("Gb2312")),"utf-8");
//Console.WriteLine(mess);
mess=GetMatchString(mess,@"(<divid=result_boxdir=""ltr"">)([?:\s\S]*?)(</div>)",2);
Console.WriteLine(mess);
}
注意的是
HttpUtility.UrlEncode(mess,System.Text.UnicodeEncoding.GetEncoding("Gb2312"))
这句,无法识别UrlEncode的字符编码,这里需要指明。
OK,然后csc了,编译一下,下载一下吧。
相关文章
- 可用免费asp.net空间
- asp中的session使用方法详解
- [接上篇]在Window10/11的Linux子系统Docker上部署VB.NET Asp.Net Core WebAPI应用
- ASP网页MySQL注入及防御研究(asp页面mysql注入)
- ASP读取MySQL数据库操作变慢的原因分析(asp+读取mysql慢)
- 数据库ASP环境下注册MySQL数据库步骤指南(asp注册mysql)
- ASP把信息写入MySQL库的方法(asp写信息到mysql)
- ASP结合MySQL,发挥出卓越的性能(asp使用mysql性能)
- MySQL语句实现 ASP 程序开发精彩功能(asp mysql语句)
- ASP调用Oracle数据庫,实现完美编程体验(asp访问oracle)
- 从ASP学习如何写Oracle函数(asp如何写oracle)
- ASP写入Oracle数据库性能瓶颈问题(asp写入Oracle慢)
- ASP应用之模板采用
- ASP中实现限制IP的函数详解
- 用Asp.Net建立一个在线RSS新闻聚合器的方法
- asp源码打包成xml的工具
- 在asp.NET中字符串替换的五种方法
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- asp.net半角全角转化工具
- Asp.net5种页面转向方法
- ASP相关文章或者相关产品
- asp.net长文章通过设定的行数分页
- Asp操作Cookies(包括设置[赋值]、读取、删除[设置过期时间])
- asp.net的cms原理篇
- ASP.NETGridView实现课程表显示(动态合并单元格)实现步骤
- iis8.5显示ASP的详细错误信息500内部服务器错误解决方法
- ASP.NET中常见文件类型、扩展名、存放位置及用途总结
- 推荐4款傻瓜型的ASP服务器软件(asp运行环境一键搭建工具)