Saat ini, pembangunan situs web hosting virtual populer. Saya juga memiliki situs web, dan saya juga seorang webmaster. Setelah hampir satu tahun bekerja, saya merasa bahwa setiap kali program situs web ditingkatkan, saya pertama kali pergi ke situs web resmi untuk membaca pengumuman, kemudian mengunduh paket upgrade ke area lokal, Decompress, dan mengunggah FTP ke host virtual. Ini semua adalah tugas fisik yang melelahkan, dan saya terlalu malas untuk menjadi sangat malas, jadi saya fantastis dan berpikir akan lebih bagus jika program dapat ditingkatkan secara otomatis. Jadi saya memikirkannya dan menulis artikel ini, berharap ini akan membantu pengembang program web. Ini hanya untuk ASP, karena saya hanya tahu ASP :-(
Pertama -tama mari kita lihat proses peningkatan program Win32 tradisional (seperti perangkat lunak antivirus). Ini bergantung pada program peningkatan perangkat lunak untuk terhubung ke server melalui jaringan untuk menganalisis dan mengunduh file peningkatan ke area lokal.
Program web sedikit berbeda karena berjalan di server web. Pada akhirnya perlu menimpa file pada server upgrade ke server web, dan komputer webmaster hanyalah transfer. Jika Anda secara langsung menyalin file di server upgrade ke server web (tanpa transit melalui webmaster), maka peningkatan otomatis akan dicapai.
Untungnya, sistem ini dilengkapi dengan komponen Microsoft.xmlHttp untuk mengakses Web. Ini dapat dipanggil di ASP untuk terhubung ke server upgrade untuk mengunduh file upgrade.
Kode berikut adalah contoh mengunduh file menggunakan microsoft.xmlhttp:
<%
Setxpost = createObject ("microsoft.xmlhttp")
xpost.open "get", "http://www.0x54.org/test.exe", false
xpost.send ()
SetSget = createObject ("adodb.stream")
Sget.mode = 3
Sget.type = 1
sget.open ()
sget.write (xpost.responseBody)
sget.savetofileerver.mappath ("update.exe"), 2
setSget = tidak ada
setSpost = tidak ada
response.write ("Unduh file berhasil! <br>")
%>
Kode di atas adalah menyimpan http://www.0x54.org/test.exe ke direktori server web saat ini. Adapun lebih banyak penggunaan microsoft.xmlhttp, silakan periksa MSDN.
Jika ada banyak file, Microsoft.xmlhttp akan dipanggil beberapa kali untuk terhubung ke jaringan, dan beberapa file mungkin gagal memperbarui dalam koneksi tertentu. Untuk menghindari ini, yang terbaik adalah mengemas semua file ke dalam satu file dan mengunduhnya ke web satu kali sebelum membongkarnya.
Haha, kemasan yang disebutkan di sini bukan paket rar atau zip, tapi kami mendefinisikannya sendiri. Misalnya, sambung semua file menjadi satu dan kemudian pisahkan sesuai dengan tanda khusus. Sekarang tidak begitu merepotkan, karena ada metode yang sudah jadi. Kami menggunakan metode menggunakannya: Letakkan semua file (Formulir Biner) dan informasi jalurnya ke dalam database Access.
File VBS berikut (dari Ocean Top 2006Plus) adalah untuk mengemas semua file dalam direktori saat ini:
DIMN, WS, FSOX, THEPATH
SetWs = createObject ("wscript.shell")
Setfsox = createObject ("Scripting.FilesystemObject")
ThePath = ws.exec ("cmd/ccd"). stdout.readall () & "/"
i = instr (ThePath, chr (13))
ThePath = Left (ThePath, I-1)
n = len (ThePath)
OnerrorresumeNext
addtomdb (ThePath)
Wscript.echo "Direktori saat ini telah dikemas, direktori root adalah direktori saat ini"