Un document local poate totuși provoca un 407 în timpul conversiei. XML-ul său poate numi un DTD, o schemă sau o entitate, iar un renderer poate prelua stiluri sau imagini. Clientul care eșuează poate fi în interiorul acelui parser, după ce descărcarea inițială s-a încheiat.

Păstrați stiva excepției și URI-ul solicitat, apoi potriviți-le cu declarațiile de intrare sau referințele la resurse. O cerere DTD către un host standard este o altă operațiune decât cererea paginii. Conversia HTML în PDF poate eșua și ea la preluarea resurselor la distanță.

Pentru o intrare .NET XmlReader al cărei contract interzice DTD-urile și rezolvarea externă, folosiți:

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

Transmiteți aceste setări componentei care analizează efectiv documentul. DtdProcessing alege cum este tratat un DTD; XmlResolver controlează accesul extern. Prohibit respinge un document cu DTD—nu elimină declarația. Dacă fluxul de lucru necesită una, alegeți o rezolvare locală aprobată sau un resolver direcționat explicit.

Mențineți valorile implicite legate de API/runtime. XmlReaderSettings folosește Prohibit implicit, iar resolverul său implicit a fost schimbat în null începând cu .NET Framework 4.5.2. Un convertor terț le poate suprascrie sau poate folosi alt parser.

Schimbarea unei declarații XHTML într-un doctype HTML poate afecta un convertor, dar nu îi configurează proxy-ul. Stabiliți resursele necesare și politica lor de încărcare; autentificarea pe clientul paginii inițiale nu autentifică acest al doilea client.

Articole similare