Halaman 1 menggunakan Msxml2.ServerXMLHTTP untuk menangkap konten web. Halaman 2 menggunakan ADODB.Stream untuk menulis konten yang diambil ke dalam file. Halaman 3 memberikan contoh spesifik. Siapa pun yang mengetahui asp harus mengetahui bahwa asp adalah bahasa skrip yang menafsirkan dan mengeksekusi. , dan efisiensi eksekusi program skrip seringkali sangat rendah. Jika jumlah kunjungan ke situs relatif tinggi, server akan menghabiskan banyak sumber daya. Akibatnya kecepatan akses situs turun dengan cepat program untuk meningkatkan efisiensi eksekusi. , dan metode lainnya adalah dengan secara teratur membuat file html statis untuk halaman yang paling sering dikunjungi di situs web, yang dapat secara efektif menyelesaikan masalah kecepatan akses , jika tidak maka tidak akan berfungsi apa pun yang terjadi. Di bawah ini saya memperkenalkan metode menggunakan komponen Msxml2.ServerXMLHTTP untuk mengambil halaman web statis yang ingin Anda buat, dan kemudian menggunakan fso atau ado untuk menulis file tersebut Perlu dicatat bahwa contoh dalam artikel ini semuanya menggunakan pengkodean utf -8, jika diubah ke gb2312, atribut yang sesuai perlu diubah terlebih dahulu!
<!--'Untuk pertanyaan terkait, silakan kunjungi http://www.downcodes.com
Fungsi GetURL(URL)
'Unduh fungsi utama
konstanta Interval Waktu = 60
'Tetapkan interval waktu
'Jika waktu pengunduhan sangat lambat, tulis 120 detik
'Respon.LCID=2052
const lResolve=6
'Batas waktu nama domain resolusi habis, detik
const lHubungkan=6
'Waktu koneksi situs habis, detik
const lKirim=6
'Batas waktu permintaan kirim data, detik
const lTerima=40
'Batas waktu pengunduhan data, detik
pada kesalahan lanjutkan Berikutnya
Redupkan http
Setel http = Server.CreateObject("Msxml2.ServerXMLHTTP")
http.setTimeouts lResolve*1000,lConnect*1000,lSend*1000,lReceive*1000
http.Buka "GET", URL, Salah
http.Kirim
Pilih Kasus http.readyState
Kasus 0
GetURL="Inisialisasi objek gagal"
Err. Jelas
atur http=tidak ada
Fungsi Keluar
Kasus 1
GetURL="Batas waktu analisis nama domain/batas waktu situs koneksi"
Err. Jelas
atur http=tidak ada
Fungsi Keluar
Kasus 2
GetURL="Waktu permintaan data habis. Apakah servernya rusak?"
Err. Jelas
atur http=tidak ada
Fungsi Keluar
Kasus 3
GetURL="Batas waktu pengunduhan data/waktu tunggu masukan habis"
Err. Jelas
atur http=tidak ada
Fungsi Keluar
Kasus 4
'Pengunduhan berhasil
Pilihan Akhir
Jika http.status<>200 maka
GetURL="Pengunduhan gagal"&Err.deskripsi
Err. Jelas
atur http=tidak ada
Fungsi Keluar
AKHIR JIKA
Jika http.status="200" maka
DapatkanURL=http.ResponseText
'GetURL=SimpanFile()
Akhiri Jika
atur http=tidak ada
Fungsi Akhir
-->
Fungsi utamanya adalah untuk menangkap konten file halaman web dari parameter alamat. Gunakan metode varia=GetURL(" http://www.downcodes.com "). Jika itu adalah alamat pengujian lokal, Anda dapat menuliskannya sebagai http://localhost/default.asp dan gunakan fungsi ini. Perlu dicatat bahwa atribut Response.LCID=2052 tidak didukung pada Windows Server 2000, tetapi ini bukan masalah besar dan dapat digunakan secara normal selama itu dikomentari! Ada juga beberapa atribut batas waktu yang dapat disesuaikan sesuai kebutuhan, tetapi berhati-hatilah untuk tidak mengatur waktu terlalu pendek, jika tidak, jika file besar atau kecepatan akses alamat lambat, perayapan mungkin gagal! kami menggunakan fungsi ini untuk merayapi konten file halaman web yang ingin Anda buat. Simpan konten dalam variabel dan tunggu untuk ditulis ke dalam file.
Kelas ini diberikan di bawah ini, yang digunakan untuk menulis konten yang baru saja ditangkap oleh fungsi ke dalam file yang sesuai, dan selesai! Langsung buat halaman web yang ingin Anda buat, sangat nyaman dan tidak perlu memodifikasi file asli!
Class Htmlmaker
'Silakan ajukan pertanyaan terkait Lihat http://www.downcodes.com
'/************************
'/Petunjuk pengaturan properti
'/foldename "nama folder"
'/ Jika tidak disetel, nama folder dalam format waktu [tahun, bulan, hari] akan dibuat secara otomatis
'/ Nama file "Nama file" (termasuk sufiks dan sufiks)
'/ Jika tidak disetel, nama file dalam format waktu [jam, menit, detik] akan dibuat secara otomatis, dengan akhiran .html
'/ Htmlstr "Konten kode yang dihasilkan"
'/************************
HtmlFolder Pribadi, Nama File Html, Konten Html
Properti publik biarkan nama lipat (str)
HtmlFolder=str
Properti akhir
Properti publik biarkan Nama file(str)
HtmlNamaFile=str
Properti akhir
Properti publik biarkan Htmlstr(str)
HtmlKonten=str
Properti akhir
'/************************
'/Fungsi tanggal konversi nama file
'/***********************
Fungsi Pribadi Nama Tanggal1(timestr)
redup s_tahun,s_bulan,s_hari
s_year=tahun(timestr)
jika len(s_year)=2 maka s_year="20"&s_year
s_month=bulan(timestr)
jika s_bulan<10 maka s_bulan="0"&s_bulan
s_hari=hari(waktu)
jika s_day<10 maka s_day="0"&s_day
Namatanggal1=s_tahun & s_bulan & s_hari
Fungsi Akhir
Fungsi Pribadi Nama Tanggal2(timestr)
redup s_jam,s_menit,s_ss
s_hour=jam(timestr)
jika s_jam<10 maka s_jam="0"&s_jam
s_menit=menit(timestr)
jika s_menit<10 maka s_menit="0"&s_menit
s_ss=detik(timestr)
jika s_ss<10 maka s_ss="0"&s_ss
Nama Tanggal2 = s_jam & s_menit & s_ss
Fungsi Akhir
'/************************
'/ inisialisasi
'/***********************
Sub Pribadi class_initialize()
HtmlFolder=NamaTanggal1(sekarang)
HtmlFilename=NamaTanggal2(sekarang)&".html"
HtmlC
Akhiri Sub
Pribadi Sub class_terminate()
Akhiri Sub
'/************************
'/ Pembuatan file HTML
'/*********************
Sub Publik Htmlmake()
'Pada Kesalahan Lanjutkan Berikutnya
jalur file redup, fso, fout
jalur file = HtmlFolder&"/"&HtmlFilename
Setel fso = Server.CreateObject("Scripting.FileSystemObject")
Jika fso.FolderExists(Server.MapPath(HtmlFolder)) Lalu
Kalau tidak
fso.CreateFolder(Server.MapPath(HtmlFolder))
Akhiri Jika
' Setel fout = fso.CreateTextFile(Server.MapPath(jalur file),true)
' fout.WriteLine HtmlContent
'fout.dekat
redupkan objFSO,adTypeText,adSaveCreateOverWrite,Charsett,objAdoStream
Charsett = "utf-8"
setel objAdoStream = Server.CreateObject("ADODB.Stream")
adTypeText = 2
iklanSimpanCreateOverWrite = 2
objAdoStream.Type = adTypeText
objAdoStream.Buka
objAdoStream.Charset = Charsett
objAdoStream.WriteText(HtmlKonten)
objAdoStream.SaveToFile Server.MapPath(jalur file),2
objAdoStream.Tutup
Akhir Sub
'/************************
'/Hapus berkas HTML
'/************************
Sub Publik Htmldel()
jalur file redup, jika tidak
jalur file = HtmlFolder&"/"&HtmlFilename
Setel fso = CreateObject("Scripting.FileSystemObject")
jika fso.FileExists(Server.MapPath(filepath)) lalu
fso.DeleteFile(Server.mappath(jalur file))
berakhir jika
Tetapkan fso = tidak ada
Akhir Sub
Akhir kelas
Agar semua orang belajar lebih baik, mari kita berikan contoh spesifik:
Kami memiliki alamat situs web http://www.downcodes.com/.
Kami
ingin membuat file html statis dari beranda, yaitu default.asp
buatlah File: makeindex.asp
<!--#include file="function_class.asp"-->
<%
redupkan indekshtmlstr
indexhtmlstr=GetURL(" http://www.downcodes.com/default.asp ")
redupkan nama file indeks
namafile indeks="index.htm"
status tindakan redup
jika len(indexhtmlstr) <200 maka
Acti&indexfilename&"mengalami kesalahan "&indexhtmlstr&""
kalau tidak
redupkan myhtml
setel myhtml= pembuat Html baru
myhtml.foldename = "../.."
myhtml.Namafile = namafile indeks
myhtml.Htmldel
myhtml.Htmlstr = indekshtmlstr
myhtml.Htmlmake
atur myhtml=tidak ada
tindakan&namafileindeks&"file"
berakhir jika
respon.tulis status tindakan
%>
Isi file function_class.asp terutama mencakup fungsi-fungsi yang diberikan di atas dan kelas yang menghasilkan file tersebut!
Jalankan makeindex.asp untuk menghasilkan file htm!