首页 > 编程 > ASP > 正文

ASP Google的translate API代码

2024-05-04 11:09:03
字体:
来源:转载
供稿:网友
上篇文字PHP使用Google的translate API写了以后,突然想做个ASP的类,以致asp用户使用。遂写起,发现asp忘了不少。如主题吧,思路和C#的这篇是完全一样的,我只是把它兑成ASP的实现方式而已。
 
 
 
直接看代码: 
复制代码代码如下:

Class GoogleTranslator 
sub Class_Initialize() 
RURI="http://translate.google.com/translate_t?langpair={0}&text={1}" 
End Sub 
Private Opt_ ' 
Property Get Opt 
Opt=Opt_ 
End Property 
Property Let Opt(Opt_s) 
Opt_=Opt_s 
End Property 
Private RURI 
Function AnalyzeChild(patrn,texts,IPos) 
Dim regEx, Match, Matches 
Set regEx = New RegExp 
regEx.IgnoreCase = true 
regEx.Global = True 
regEx.Pattern = patrn 
regEx.Multiline = True 
Dim RetStr 
Set Matches = regEx.Execute(texts) 
If(Matches.Count > 0)Then RetStr= Matches(0).SubMatches(IPos) 
AnalyzeChild=RetStr 
Set regEx =Nothing 
End Function 
Function getHTTPPage(url) 
dim objXML 
set objXML=server.createobject("MSXML2.XMLHTTP")'定义 
objXML.open "GET",url,false'打开 
objXML.send()'发送 
If objXML.readystate<>4 then 
exit function 
End If 
getHTTPPage=BytesToBstr(objXML.responseBody) 
set objXML=nothing'关闭 
if err.number<>0 then err.Clear 
End Function 
Function BytesToBstr(body) 
dim objstream 
set objstream = Server.CreateObject("adodb.stream") 
objstream.Type = 1 
objstream.Mode =3 
objstream.Open 
objstream.Write body 
objstream.Position = 0 
objstream.Type = 2 
objstream.Charset = "utf-8" 
'转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码 
BytesToBstr = objstream.ReadText 
objstream.Close 
set objstream = nothing 
End Function 
Public Function GetText(str) 
If(isempty(str)) Then Exit Function 
Dim newUrl,Rs 
newUrl=Replace(Replace(RURI,"{0}",Server.URLEncode(Opt)),"{1}",Server.URLEncode(str)) 
Rs=getHTTPPage(newUrl) 
GetText = AnalyzeChild("(<div id=result_box dir=""ltr"">)([?:/s/S]*?)(</div>)",Rs,1) 
End Function 
Sub class_Terminate 
End Sub 
End Class 


然后使用的时候: 
复制代码代码如下:

Dim Obj 
Set Obj = new GoogleTranslator 
Obj.Opt="zh-CN|en" 
response.write(Obj.GetText("我们")) 

然后就可以了,需要注意的是因为Google的任何产品都是UTF-8格式的,这个asp文件保存为UTF-8格式,并在开头加上: 
<%@ LANGUAGE=VBScript CodePage=65001%> 
<%Option Explicit 
'... 开抄我上面的代码 
就可以了。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表