ก่อนหน้านี้มีเพจ ASP ที่ดำเนินการช้ามาก มีผู้เยี่ยมชมจำนวนมาก และไม่ได้แก้ไขบ่อยนัก ฉันขี้เกียจเกินไปที่จะทำให้มันเป็นแบบคงที่โดยตรง ฉันต้องดาวน์โหลดจากเซิร์ฟเวอร์ทุกครั้งจึงจะเปลี่ยนแปลงได้ ฉันจึงต้องหาวิธีแปลงเพจ ASP เป็นเพจ HTM - -
ฉันเคยเห็นบทความประเภทนี้มาก่อน แต่ฉันก็ไม่ได้สนใจมันมากนัก มันยากที่จะหาบทความที่เหมาะสมเมื่อฉันอยากใช้จริงๆ ดังนั้นฉันจึงค้นหาในอินเทอร์เน็ตเป็นเวลานานและในที่สุดก็พบบทความที่เหมาะสมกว่า รหัสและเพิ่มการแก้ไขของตัวเองดังนี้:
<%
ฟังก์ชั่น GetPage(url)
'รับเนื้อหาไฟล์
การเรียกคืนสลัว
ตั้งค่าการเรียกข้อมูล = CreateObject("Microsoft.XMLHTTP")
ด้วยการเรียกค้น
. เปิด "รับ", url, False ', "", ""
.ส่ง
GetPage = BytesToBstr(.ResponseBody)
จบด้วย
ตั้งค่าการดึงข้อมูล = ไม่มีเลย
ฟังก์ชันสิ้นสุด
ฟังก์ชัน BytesToBstr(body)
objstream สลัว
ตั้ง objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.เปิด
objstream เขียนเนื้อหา
objstream ตำแหน่ง = 0
objstream.Type = 2
objstream.Charset = "GB2312"
BytesToBstr = objstream.ReadText
objstream.ปิด
ตั้งค่า objstream = ไม่มีเลย
สิ้นสุดฟังก์ชัน
เมื่อมีข้อผิดพลาดดำเนินการต่อถัดไป
Url=" http://www.sina.com.cn"' ที่อยู่หน้าที่จะอ่าน
response.write "เริ่มอัปเดตหน้าแรก..."
wstr = GetPage(Url)
'response.write(wstr)
ตั้งค่า fs=Server.CreateObject("Scripting.FileSystemObject")
'ถ้าไม่ใช่ MyFile.FolderExists(server.MapPath("/html/")) แล้ว
'MyFile.CreateFolder(server.MapPath("/html/"))'
'สิ้นสุดถ้า
' ที่อยู่หน้าที่จะจัดเก็บ
dizhi=server.MapPath("index.htm")
ถ้า (fs.FileExists(dizhi)) แล้ว
fs.DeleteFile(ดิจือ)
สิ้นสุดถ้า
ตั้งค่า CrFi=fs.CreateTextFile(dizhi)
Crfi.Writeline(wstr)
setCrFi=ไม่มีอะไรเลย
ตั้งค่า fs=ไม่มีอะไร
response.write "...<font color=red>อัปเดตเสร็จสิ้น!</font>"
-
รหัสนั้นง่ายที่สุด สามารถบันทึกลงในไฟล์ asp ได้โดยตรง เพียงตั้งค่า URL (ที่อยู่ asp ที่จะแปลง) และ dizhi (ที่อยู่ html ที่จะบันทึก) จากนั้นเราจึงมั่นใจได้ว่ารูปภาพ, css และ js ใช้งานได้
ฉันหวังว่ามันจะมีประโยชน์กับเพื่อน ๆ ที่กำลังมองหา asp->htm