Egy helyi dokumentum konvertáláskor még mindig okozhat 407-est. Az XML-je megnevezhet egy DTD-t, sémát vagy entitást, és a renderelő stílusokat vagy képeket tölthet le. A hibázó kliens az adott parseren belül lehet, miután az eredeti letöltés befejeződött.

Őrizze meg a kivételvermet és a kért URI-t, majd vesse össze őket a bemeneti deklarációkkal vagy erőforrás-hivatkozásokkal. A szabványos gazdagép felé irányuló DTD-kérés más művelet, mint az oldalkérés. A HTML-ből PDF-be konvertálás is meghiúsulhat távoli erőforrások lekérésekor.

Egy .NET XmlReader-bemenethez, amelynek szerződése tiltja a DTD-ket és a külső feloldást, használja:

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

Adja át ezeket a beállításokat annak a komponensnek, amely valóban elemzi a dokumentumot. DtdProcessing választja meg a DTD kezelését; XmlResolver szabályozza a külső hozzáférést. Prohibit elutasítja a DTD-t tartalmazó dokumentumot—nem távolítja el a deklarációt. Ha a munkafolyamat igényel egyet, válasszon jóváhagyott helyi feloldást vagy kifejezetten irányított resolver-t.

Tartsa az alapértékeket az API-hoz/futtatókörnyezethez kötve. Az XmlReaderSettings alapértelmezés szerint Prohibit-et használ, és az alapértelmezett resolver-e a .NET Framework 4.5.2-től null-ra változott. Egy harmadik féltől származó konverter felülírhatja ezeket, vagy másik parsert használhat.

Az XHTML deklaráció HTML doctype-ra cserélése hatással lehet egy konverterre, de nem konfigurálja annak proxyját. Határozza meg a szükséges erőforrásokat és betöltési szabályzatukat; a kezdőoldal kliensén végzett hitelesítés nem hitelesíti ezt a második klienst.

Kapcsolódó cikkek