หลังจากเขียนบทความก่อนหน้านี้ใน PHP โดยใช้ Translate API ของ Google ฉันก็อยากจะสร้างคลาส ASP เพื่อให้ผู้ใช้ asp สามารถใช้งานได้ จากนั้นฉันก็เริ่มเขียนและพบว่าฉันลืมไปมากเกี่ยวกับ asp ตัวอย่างเช่น ธีม แนวคิดเหมือนกับบทความ C# ทุกประการ ฉันเพิ่งแปลงเป็นวิธีการใช้งาน ASP ดูรหัสโดยตรง:
คัดลอกรหัสรหัสดังต่อไปนี้:
คลาส Google นักแปล
subClass_Initialize()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
จบหมวดย่อย
ตัวเลือกส่วนตัว_ '
เลือกรับทรัพย์สิน
เลือก=เลือก_
สิ้นสุดคุณสมบัติ
คุณสมบัติให้เลือก (Opt_s)
Opt_=Opt_s
สิ้นสุดคุณสมบัติ
รูริส่วนตัว
ฟังก์ชั่น AnalyzeChild (รูปแบบ, ข้อความ, IPos)
Dim regEx, แมตช์, แมตช์
ตั้งค่า regEx = RegExp ใหม่
regEx.IgnoreCase = จริง
regEx.Global = จริง
regEx.Pattern = รูปแบบ
regEx.Multiline = จริง
DimRetStr
ตั้งค่าการจับคู่ = regEx.Execute (ข้อความ)
ถ้า(Matches.Count > 0)แล้ว RetStr= Matches(0).SubMatches(IPos)
AnalyzeChild=RetStr
ตั้งค่า regEx = ไม่มีอะไรเลย
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น getHTTPPage(url)
objXML สลัว
ตั้งค่า objXML=server.createobject(MSXML2.XMLHTTP)' คำจำกัดความ
objXML.open GET, url, false'open
objXML.send()'ส่ง
ถ้า objXML.readystate<>4 แล้ว
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
getHTTPPage=BytesToBstr(objXML.responseBody)
ตั้ง objXML=ไม่มีอะไร'ปิด
ถ้า err.number<>0 แล้ว err.Clear
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น BytesToBstr (เนื้อหา)
objstream สลัว
ตั้ง objstream = Server.CreateObject (adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.เปิด
objstream เขียนเนื้อหา
objstream ตำแหน่ง = 0
objstream.Type = 2
objstream.Charset = utf-8
'แปลงการเข้ารหัส UTF-8 เริ่มต้นดั้งเดิมเป็นการเข้ารหัส GB2312 มิฉะนั้นการใช้ XMLHTTP โดยตรงเพื่อเรียกหน้าเว็บที่มีตัวอักษรจีนจะส่งผลให้รหัสที่อ่านไม่ออก
BytesToBstr = objstream.ReadText
objstream.ปิด
ตั้ง objstream = ไม่มีเลย
สิ้นสุดฟังก์ชัน
ฟังก์ชั่นสาธารณะ GetText (str)
ถ้า(isempty(str)) จากนั้นออกจากฟังก์ชัน
หรี่ URL ใหม่ Rs
newUrl=Replace(แทนที่(RURI,{0},Server.URLEncode(Opt)),{1},Server.URLEncode(str))
Rs=getHTTPPage(URL ใหม่)
GetText = AnalyzeChild((<div id=result_box dir=ltr>)([?:/s/S]*?)(</div>),Rs,1)
สิ้นสุดฟังก์ชัน
คลาสย่อย_ยุติ
จบหมวดย่อย
จบคลาส
จากนั้นเมื่อใช้:
คัดลอกรหัสรหัสดังต่อไปนี้:
DimObj
ตั้ง Obj = GoogleTranslator ใหม่
Obj.Opt=zh-CN|en
การตอบสนองเขียน (Obj.GetText (เรา))
แค่นั้นแหละ ควรสังเกตว่าเนื่องจากผลิตภัณฑ์ใด ๆ ของ Google อยู่ในรูปแบบ UTF-8 ไฟล์ asp นี้จึงถูกบันทึกในรูปแบบ UTF-8 และเพิ่มที่ตอนต้น:
<%@ LANGUAGE=เพจโค้ด VBScript=65001%>
<%ตัวเลือกที่ชัดเจน
'... คัดลอกโค้ดของฉันด้านบน
แค่นั้นแหละ.