Capturez à distance les résultats de traduction automatique de GOOGLE
Auteur:Eve Cole
Date de mise à jour:2009-07-01 16:08:47
1 Fonction RemoveHTML()Fonction RemoveHTML(strhtml)
2 si strhtml<>"" alors
3 dim s_str sous forme de chaîne
4 s_str=regex.replace(strHTML,"<[^>]+>","")
5 s_str=replace(s_str," ","")
6 retour s_str
7 fin si
8 Fonction de fin
9
10 Fonction china_to_english()Fonction china_to_english(textes, langues)
11 Dim payload As String = "hl=zh-CN&ie=UTF8&text="& textes &"&langpair="& langues &""
12 dim str_return sous forme de chaîne
13 Dim req As WebRequest = WebRequest.Create(" http://translate.google.com/translate_t ") ' 开始取连接.
14 req.Credentials = CredentialCache.DefaultCredentials '
15 req.Method = "POST" 'POST ne fonctionne pas
16 req.ContentType = "application/x-www-form-urlencoded" 'POST prend en charge la version multipart/form-data
17 req.timeout=10000 '连接超时定时
18 req.ContentLength = payload.Length '头部长度
19 Dim encoding As Encoding = Encoding.GetEncoding("UTF-8") '转换成流,大部网站一般转换成UTF-8就可以了,注意是大写的编码
20 Dim octets As Byte() = Encoding.GetBytes(payload) '转换成流
21 req.ContentLength = bytes.Length 'c'est un problème
22 Dim newStream As Stream = req.GetRequestStream() '转换写入
23 newStream.Write(bytes, 0, bytes.Length) 'pas de problème
24 newStream.Close() 'Enregistrement
25' 上面发送完成,下面取得服务器返回
26 Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse) '
27 if res.StatusDescription="ok" then ' 返回取得状态.
28 current.response.write("暂时无法连接到网站,请换用另一个程序")
29 courant.response.end()
30 fin si
31 Dim dataStream As Stream = res.GetResponseStream() '
32 Dim reader As New StreamReader(dataStream,encoding.getencoding("gb2312")) ' 读
33 Dim réponseFromServer As String = reader.ReadToEnd() '
34
35 str_return=responseFromServer 'messagerie
36
37 reader.Close() 'Il n'y a aucun moyen de le faire
38 dataStream.Close()
39 rés.Fermer()
40
41 dim ss comme chaîne = str_return
42 ss = regex.replace(ss,"(?i:(.+)(<div)(.+)(>)(.+)(</div>)(.+))" ,"$5") '提取我们所要的译文
43 ss = RemoveHTML(ss) 'sans HTML
44 ss = ss.substring(3) 'pour plus de détails
45 retour SS '函数返回
46 Fin de fonction
47
48 在调用china_to_english(texts,langues)需要传两个参数第一个为要译的文字,第二个是要进行相对译的语种代码.
例:中译英,其第二个参数为:zh-Cn|en
我导入的命名空间如下:
Système d'importation
Importations System.Web
Importe System.IO
Importe Microsoft.VisualBasic
Importe System.Web.HttpContext
Importe System.Web.UI
Importe System.Web.UI.WebControls
Importe System.Text
Importe System.Text.RegularExpressions
Importations System.Net