Después de escribir el artículo anterior en PHP usando la API de traducción de Google, de repente quise crear una clase ASP para que los usuarios de ASP pudieran usarla. Luego comencé a escribir y descubrí que me había olvidado mucho del áspid. Por ejemplo, el tema, la idea es exactamente la misma que la del artículo de C#, simplemente lo convertí al método de implementación ASP. Mire directamente el código:
Copie el código de código de la siguiente manera:
Clase GoogleTranslator
subclase_inicializar()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
Subtítulo final
Opción privada_ '
Propiedad Obtener Opción
Optar=Optar_
Propiedad final
Propiedad dejar optar (Opt_s)
Opt_=Opt_s
Propiedad final
RURI privado
Función AnalizarNiño(patrón,textos,IPos)
Dim regEx, Coincidencia, Coincidencias
Establecer expresión regular = nueva expresión regular
regEx.IgnoreCase = verdadero
regEx.Global = Verdadero
regEx.Pattern = patrón
regEx.Multilínea = Verdadero
DimRetStr
Establecer coincidencias = regEx.Execute (textos)
Si(Matches.Count > 0)Entonces RetStr= Coincidencias(0).SubMatches(IPos)
AnalizarChild=RetStr
Establecer expresión regular = Nada
Función final
Función getHTTPPage(url)
objXML tenue
establecer la definición de objXML=server.createobject(MSXML2.XMLHTTP)'
objXML.open GET,url,falso'abierto
objXML.send()'enviar
Si objXML.readystate<>4 entonces
función de salida
Terminar si
getHTTPPage=BytesToBstr(objXML.responseBody)
establecer objXML=nada'cerrar
si err.number<>0 entonces err.Clear
Función final
Función BytesToBstr(cuerpo)
corriente de objetos tenue
establecer objstream = Server.CreateObject(adodb.stream)
objstream.Tipo = 1
objstream.Modo =3
objstream.Abrir
objstream.Escribir cuerpo
objstream.Posición = 0
objstream.Tipo = 2
objstream.Charset = utf-8
'Convierta la codificación UTF-8 predeterminada original a la codificación GB2312; de lo contrario, el uso directo de XMLHTTP para llamar a una página web con caracteres chinos dará como resultado un código confuso.
BytesToBstr = objstream.ReadText
objstream.Cerrar
establecer objstream = nada
Función final
Función pública GetText (cadena)
Si (isempty (str)) entonces salga de la función
Nueva URL tenue, Rs
newUrl=Reemplazar(Reemplazar(RURI,{0},Server.URLEncode(Opt)),{1},Server.URLEncode(str))
Rs=getHTTPPage(nuevaUrl)
ObtenerTexto = AnalizarChild((<div id=result_box dir=ltr>)([?:/s/S]*?)(</div>),Rs,1)
Función final
Subclase_Terminar
Subtítulo final
Fin de clase
Luego al usar:
Copie el código de código de la siguiente manera:
DimObj
Establecer Obj = nuevo GoogleTranslator
Obj.Opt=zh-CN|es
respuesta.write(Obj.GetText(nosotros))
Entonces eso es todo. Cabe señalar que debido a que cualquiera de los productos de Google está en formato UTF-8, este archivo asp se guarda en formato UTF-8 y se agrega al principio:
<%@ IDIOMA=Página de códigos VBScript=65001%>
<%Opción explícita
'... Copia mi código de arriba
Eso es todo.