ฉันได้อ่านบทความเกี่ยวกับการดาวน์โหลดรูปภาพในเว็บเพจ
download.asp? url = หน้าเว็บที่คุณต้องการดาวน์โหลด
download.asp รหัสดังต่อไปนี้:
| ต่อไปนี้เป็นส่วนของรหัส: - Server.scriptTimeOut = 9999 ฟังก์ชั่น savetofile (จาก, tofile) เมื่อเกิดข้อผิดพลาดต่อไป Dim Geturl, Objstream, IMGS getUrl = trim (จาก) myByVal = getttpStr (getUrl) ตั้งค่า objstream = server.createObject (adodb.stream) objstream.type = 1 objstream.open objstream.write mybyval objstream.savetofile tofile, 2 objstream.close () ตั้งค่า objstream = ไม่มีอะไร ถ้า err.number <> 0 err.clear ฟังก์ชันสิ้นสุด ฟังก์ชั่น geturlencodel (byval url) 'การแปลงชื่อไฟล์ภาษาจีน Dim I, รหัส geturlencodel = ถ้า trim (url) = จากนั้นออกจากฟังก์ชัน สำหรับ i = 1 ถึง len (url) รหัส = asc (mid (url, i, 1)) ถ้ารหัส <0 thatn code = code 65536 ถ้ารหัส> 255 แล้ว geturlencodel = geturlencodel &%& left (hex (รหัส), 2) &%& ขวา (hex (รหัส), 2) อื่น geturlencodel = geturlencodel & mid (url, i, 1) สิ้นสุดถ้า ต่อไป ฟังก์ชันสิ้นสุด ฟังก์ชั่น gethttppage (url) เมื่อเกิดข้อผิดพลาดต่อไป สลัว http ตั้งค่า http = server.createObject (msxml2.xmlhttp) http.open get, url, false http.send () ถ้า http.readystate <> 4 ฟังก์ชันการออก gethttppage = bytes2bstr (http.responsebody) ตั้งค่า http = ไม่มีอะไร ถ้า err.number <> 0 err.clear ฟังก์ชันสิ้นสุด ฟังก์ชั่น BYTES2BSTR (VIN) สลัว strreturn Dim I, ThischArcode, NextCharcode strreturn = สำหรับ i = 1 ถึง lenb (vin) thischArcode = ascb (midb (vin, i, 1)) ถ้า thischode <& h80 แล้ว strreturn = Strreturn & Chr (ThisCharcode) อื่น NextCharcode = ASCB (MIDB (VIN, I 1,1))))) strreturn = strreturn & chr (clng (thischarcode) * & h100 cint (nextcharcode)) ฉัน = ฉัน 1 สิ้นสุดถ้า ต่อไป bytes2bstr = streturn ฟังก์ชันสิ้นสุด ฟังก์ชั่น getFilename (ชื่อไฟล์ byval) ถ้า instr (ชื่อไฟล์,/)> 0 แล้ว filext_a = split (ชื่อไฟล์,/) getFileName = lcase (fileeext_a (ubound (filext_a)) ถ้า instr (getFilename,?)> 0 แล้ว getFileName = ซ้าย (getFilename, instr (getFilename,?)-1) สิ้นสุดถ้า อื่น getFileName = ชื่อไฟล์ สิ้นสุดถ้า ฟังก์ชันสิ้นสุด ฟังก์ชั่น gethttpstr (url) เมื่อเกิดข้อผิดพลาดต่อไป สลัว http ตั้งค่า http = server.createObject (msxml2.xmlhttp) http.open get, url, false http.send () ถ้า http.readystate <> 4 ฟังก์ชันการออก gethttpstr = http.responsebody ตั้งค่า http = ไม่มีอะไร ถ้า err.number <> 0 err.clear ฟังก์ชันสิ้นสุด ฟังก์ชั่นที่สร้างขึ้น (byval localpath) เพื่อสร้างโปรแกรมไดเรกทอรีหากมีหลายไดเรกทอรีจากนั้นระดับและการสร้างระดับหนึ่ง เมื่อเกิดข้อผิดพลาดต่อไป localpath = แทนที่ (localpath, /, /) ตั้งค่า fileObject = server.createObject (scripting.filesystemobject) patharr = split (localpath, /) path_level = ubound (patharr) สำหรับ i = 0 ถึง path_level ถ้า i = 0 thatn pathtmp = patharr (0) & / else pathtmp = pathtmp & patharr (i) & / cPath = ซ้าย (pathtmp, len (pathtmp) - 1) หากไม่ใช่ fileobject.foldrexist (cPath) fileobject.createfolder cpath ต่อไป ตั้งค่า fileObject = ไม่มีอะไร ถ้า err.number <> 0 แล้ว createDir = false err.lear อื่น createDir = true สิ้นสุดถ้า ฟังก์ชันสิ้นสุด ฟังก์ชั่น getFileext (ชื่อไฟล์ byval) filext_a = split (ชื่อไฟล์,.) getFileext = lcase (fileext_a (ubound (filext_a)) ฟังก์ชันสิ้นสุด ฟังก์ชั่น getVirtual (str, path, urlhead) ถ้าเหลือ (str, 7) = http: // จากนั้น url = str elseif left (str, 1) =/ จากนั้น start = instrrev (str,/) ถ้าเริ่ม = 1 จากนั้น url =/ อื่น url = ซ้าย (str, start) สิ้นสุดถ้า url = urlhead & url elseif ซ้าย (str, 3) = ../ แล้ว str1 = mid (str, strrev (str, ../) 2) 2) AR = แยก (str, ../) LV = Ubound (AR) 1 AR = แยก (เส้นทาง,/) url =/ สำหรับ i = 1 ถึง (ubound (ar) -lv) url = url & ar (i) ต่อไป url = url & str1 url = urlhead & url อื่น url = urlhead & strong สิ้นสุดถ้า getVirtual = url ฟังก์ชันสิ้นสุด 'รหัสตัวอย่าง DIM DLPATH เสมือนจริง =/ดาวน์โหลด/ truepath = server.mappath (เสมือน) หากคำขอ (url) <> จากนั้น url = คำขอ (url) fn = getFilename (URL) urlhead = ซ้าย (url, (instr (แทนที่ (url, //,),/),/)) urlpath = แทนที่ (ซ้าย (url, instrrev (url,/)), urlhead,) strContent = gethttppage (url) mystr = strcontent ตั้งค่า objregexp = ใหม่ regexp objregexp.ignorecase = true objregexp.global = true objregexp.pattern = (src | href) = ตั้งค่าการจับคู่ = objregexp.execute (strcontent) สำหรับการแข่งขันแต่ละนัดในการแข่งขัน str = match.value str = แทนที่ (str, src =,) str = แทนที่ (str, href =,) str = แทนที่ (str ,,) str = แทนที่ (str, ',) filename = getFilename (str) getRet = getVirtual (str, urlpath, urlhead) temp = แทนที่ (getRet, //, **) start = instr (temp,/) endt = instrrev (temp,/)-เริ่ม 1 ถ้าเริ่ม> 0 แล้ว repl = เสมือน & กลาง (อุณหภูมิเริ่มต้น) & 'response.write repl & <br> mystr = แทนที่ (mystr, str, repl) dir = mid (temp, start, endt) temp = truepath & แทนที่ (dir,/,/) CreateDir (อุณหภูมิ) 'response.write getret & || & temp & filename & <br> <br> Savetofile getret, test & filename สิ้นสุดถ้า ต่อไป ตั้งค่าการจับคู่ = ไม่มีอะไร สิ้นสุดถ้า - |