Dokumen lokal masih dapat menyebabkan 407 selama konversi. XML-nya dapat menyebut DTD, skema, atau entitas, dan perender dapat mengambil gaya atau gambar. Klien yang gagal dapat berada di dalam parser tersebut, setelah unduhan awal selesai.

Simpan tumpukan pengecualian dan URI yang diminta, lalu cocokkan dengan deklarasi masukan atau referensi sumber daya. Permintaan DTD ke host standar adalah operasi lain dari permintaan halaman. Konversi HTML ke PDF juga dapat gagal saat mengambil aset jarak jauh.

Untuk masukan .NET XmlReader yang kontraknya melarang DTD dan resolusi eksternal, gunakan:

var settings = new XmlReaderSettings
{
    DtdProcessing = DtdProcessing.Prohibit,
    XmlResolver = null
};

Teruskan pengaturan itu ke komponen yang benar-benar mengurai dokumen. DtdProcessing memilih cara menangani DTD; XmlResolver mengendalikan akses eksternal. Prohibit menolak dokumen dengan DTD—ia tidak menghapus deklarasinya. Jika alur kerja memerlukannya, pilih resolusi lokal yang disetujui atau resolver yang dirutekan secara eksplisit.

Pertahankan nilai bawaan tetap terikat pada API/runtime. XmlReaderSettings menggunakan Prohibit secara bawaan, dan resolver bawaannya berubah menjadi null mulai .NET Framework 4.5.2. Konverter pihak ketiga dapat menimpanya atau memakai parser lain.

Mengubah deklarasi XHTML menjadi doctype HTML dapat memengaruhi satu konverter, tetapi tidak mengonfigurasi proxy-nya. Tetapkan sumber daya yang diperlukan dan kebijakan pemuatannya; autentikasi pada klien halaman awal tidak mengautentikasi klien kedua ini.

Artikel terkait