服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - ASP教程 - ASP Google的translate API代码

ASP Google的translate API代码

2019-09-16 11:02asp开发网 ASP教程

上篇文字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 
'... 开抄我上面的代码 
就可以了。

延伸 · 阅读

精彩推荐