Αποθηκεύστε μια ιστοσελίδα ως HTML ή MHT χρησιμοποιώντας Delphi

Όταν δουλεύεις με τους Δελφούς, το TWebBrowser Το στοιχείο σας επιτρέπει να δημιουργήσετε μια προσαρμοσμένη Εφαρμογή περιήγησης στο Web ή για να προσθέσετε δυνατότητες περιήγησης στο Internet, αρχείων και δικτύου, προβολή εγγράφων και δυνατότητες λήψης δεδομένων στις εφαρμογές σας.

Πώς να αποθηκεύσετε μια ιστοσελίδα από το TWebBrowser

Όταν χρησιμοποιείτε τον Internet Explorer, σας επιτρέπεται η προβολή του πηγαίου κώδικα HTML μιας σελίδας και η αποθήκευση αυτής της σελίδας ως αρχείο στην τοπική σας μονάδα δίσκου. Αν βλέπετε μια σελίδα που θέλετε να κρατήσετε, μεταβείτε στο File / Save As... στοιχείο μενού. Στο παράθυρο διαλόγου που ανοίγει, έχετε αρκετούς τύπους αρχείων που προσφέρονται. Η αποθήκευση της σελίδας ως διαφορετικού τύπου αρχείου θα επηρεάσει τον τρόπο αποθήκευσης της σελίδας.

Το στοιχείο TWebBrowser (που βρίσκεται στη σελίδα "Internet" της παλέτας συνιστωσών) παρέχει πρόσβαση στη λειτουργικότητα του προγράμματος περιήγησης Web από το Εφαρμογές Delphi. Γενικά, θα θέλετε να ενεργοποιήσετε την αποθήκευση μιας ιστοσελίδας που εμφανίζεται μέσα σε ένα WebBrowser ως αρχείο HTML σε ένα δίσκο.

instagram viewer

Αποθήκευση μιας ιστοσελίδας ως ακατέργαστου HTML

Εάν θέλετε να αποθηκεύσετε μόνο μια ιστοσελίδα ως ακατέργαστη HTML, θα επιλέξετε "Web Page, HTML only (* .htm, * .html)". Θα αποθηκεύσει απλά την τρέχουσα HTML της τρέχουσας σελίδας στη μονάδα σας. Αυτή η ενέργεια ΔΕΝ θα αποθηκεύσει τα γραφικά από τη σελίδα ή άλλα αρχεία που χρησιμοποιούνται στη σελίδα, πράγμα που σημαίνει ότι αν έχετε φορτώσει το αρχείο πίσω από τον τοπικό δίσκο, θα δείτε σπασμένες συνδέσεις εικόνας.

Ακολουθεί ο τρόπος αποθήκευσης μιας ιστοσελίδας ως raw HTML χρησιμοποιώντας τον κώδικα Delphi:

Δείγμα χρήσης:

Σημειώσεις

  • Οι διασυνδέσεις IPersistStreamInit και IStream δηλώνονται μέσα στη μονάδα ActiveX.
  • Η ιστοσελίδα αποθηκεύεται ως ακατέργαστη HTML στο αρχείο WebBrowser1.html στο ριζικό φάκελο της μονάδας C.

MHT: Αρχείο ιστού, ενιαίο αρχείο

Όταν αποθηκεύετε μια ιστοσελίδα ως "αρχείο Web, ένα αρχείο (* .mht)", το έγγραφο ιστού αποθηκεύεται στη μορφή HTML HTML (MHTML) πολλαπλής χρήσης αλληλογραφίας Internet Extension με επέκταση αρχείου .mht. Όλοι οι σχετικοί σύνδεσμοι στην ιστοσελίδα αλλάζουν και το ενσωματωμένο περιεχόμενο περιλαμβάνεται στο αρχείο .mht, αντί να αποθηκεύονται σε ένα ξεχωριστό φάκελο (όπως συμβαίνει με την "Ιστοσελίδα, συμπληρώστε (* .htm, * .html) ").

Το MHTML σάς επιτρέπει να στέλνετε και να λαμβάνετε ιστοσελίδες και άλλα έγγραφα HTML χρησιμοποιώντας προγράμματα ηλεκτρονικού ταχυδρομείου όπως το Microsoft Outlook και το Microsoft Outlook Express. ή ακόμα και τις προσαρμοσμένες λύσεις αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου Delphi. Το MHTML σάς δίνει τη δυνατότητα να ενσωματώσετε εικόνες απευθείας στο σώμα των μηνυμάτων ηλεκτρονικού ταχυδρομείου αντί να τις προσαρτήσετε στο μήνυμα.

Ακολουθεί ο τρόπος αποθήκευσης μιας ιστοσελίδας ως ενός αρχείου (μορφή MHT) χρησιμοποιώντας τον κώδικα Delphi:

Δείγμα χρήσης:

Σημείωση

  • Η κλάση _Stream ορίζεται στη μονάδα ADODB_TLB που πιθανώς έχετε ήδη δημιουργήσει. Ο κώδικας διασυνδέσεων IMessage και IConfiguration διατίθεται από τη βιβλιοθήκη cdosys.dll. Το CDO σημαίνει Collaboration Data Objects (Αντικείμενα δεδομένων συνεργασίας) - βιβλιοθήκες αντικειμένων που έχουν σχεδιαστεί για να επιτρέπουν μηνύματα SMTP.

Το CDO_TLB είναι μια αυτόματα δημιουργούμενη μονάδα από τους Delphi. Για να το δημιουργήσετε, από το κύριο μενού επιλέξτε "Εισαγωγή βιβλιοθήκης τύπου", επιλέξτε "C: \ WINDOWS \ system32 \ cdosys.dll" και κάντε κλικ στο κουμπί "Δημιουργία μονάδας".

Δεν TWebBrowser

Θα μπορούσατε να ξαναγράψετε τη διαδικασία WB_SaveAs_MHT για να δεχτείτε μια συμβολοσειρά URL (όχι TWebBrowser) για να μπορείτε να αποθηκεύσετε απευθείας μια ιστοσελίδα - δεν χρειάζεται να χρησιμοποιήσετε το στοιχείο WebBrowser. Η διεύθυνση URL από το WebBrowser ανακτάται χρησιμοποιώντας την ιδιότητα WB.LocationURL.