Rapporten opnar i nettlesaren, parametrane blir gjengitt, og eksportknappen gir ein feil, ei tom nedlasting eller ei fil som reknearket nektar å opne. Den kombinasjonen har ein standardform. Ei fungerande rapportside har testa gjengiving og autentisering og ingenting anna. Eksporten er ein eigen førespurnad med sitt eige svar, og gjennom ein klientlaus portal går han også gjennom eit omskrivingslag som aldri vart designa for filnedlastingar.

To vegar, éi fungerande side

Gjengiving og eksport er ulike operasjonar sjølv når dei startar frå same knapp. Rapporttenaren gjengir sida for ein nettlesar og gjengir eksporten gjennom ei anna utviding for utdata med sin eigen innhaldstype og si eiga feilåtferd, slik eksportdokumentasjonen skildrar. Ein portal som slepp den første perfekt gjennom, kan framleis øydeleggje den andre, fordi den andre er eit svar portalen ikkje venta å sjå. Dei to deler ei økt og ei adresse, og nesten ingenting anna.

Behandle den fungerande sida som prov på autentisering og tilgjenge berre. Ho provar at kontoen kan nå rapporttenaren og at portalen videresender HTML. Ho seier ingenting om filsvar, headarar for innhaldsplassering eller omdirigeringar som endar i ei nedlasting i staden for i eit dokument.

Det er heile grunnen til å samanlikne eksportvegen for seg sjølv i staden for å teste sida som allereie verkar på nytt. To førespurnader som deler ei økt er framleis to førespurnader.

Tre vilkår som avgjer kvar eksporten bryt

Tre spørsmål plasserer feilen raskt, og kvart svar peikar på ein annan eigar.

For det første, blir same rapport, konto og format eksportert korrekt frå det interne nettverket? Viss ja, er rapporttenaren og gjengivaren i orden, og skilnaden ligg i tilgangsvegen. For det andre, ber det mislukka svaret ein filinnhaldstype, eller ei HTML-side med ei filending? Det skil ein gjengivarfeil frå ei erstatning frå portalen. For det tredje, skriv portalen om URL-en til førespurnaden eller fjernar han headarar frå svaret? Ein omskriven URL kan lande på eit heilt anna endepunkt.

Svar på alle tre før du endrar ei innstilling, fordi kvar har ei ulik løysing. Ein gjengivarfeil høyrer til rapporttenaren, ein erstatta body høyrer til portalen, og ein fjerna headar er eit policy-spørsmål og ikkje ein feil.

Skriv ned svara. Ei støttesak bygd på dei tre linjene er verdt ti skjermbilde.

Les eksportsvaret i staden for statuskoden

Ein vellukka HTTP-status provar berre at noko svara på førespurnaden. Undersøk body og headarar saman, fordi den interessante feilen er eit vellukka svar med feil innhald.

curl -sS -D export.headers -o export.bin --location "https://portal.example.com/reports/export?format=xlsx"
file export.bin
head -c 300 export.bin

Headardumpen viser innhaldstypen og kvar innhaldsplassering portalen returnerte. Kommandoen file identifiserer kva body faktisk er, og ei tekstfil der eit rekneark var venta, er den klassiske erstatta påloggingssida. Kommandoen head viser nok til å kjenne att HTML utan å dumpe ein heil rapport i ein terminal.

Fjern øktinformasjonskapslar og token før du deler noko av det. Eit opptak av ein fungerande eksport er nyttig prov, og eit opptak av ei økt som høyrer til nokon andre, er ein hending.

Avgrens unntaket til applikasjonen, ikkje kontoen

Viss portalen skriv om eller blokkerer svaret, er den freistande reparasjonen å frita heile nettstaden eller gjere rapporten anonym. Begge fiksar nedlastinga og fjernar grunnen til at portalen finst. Eit snevert unntak namngir ein applikasjonsveg, ein innhaldstype og éi retning, og det kan framleis gjennomgåast av den som eig policyen.

Bruk den gateway-versjonen du faktisk køyrer, og dei dokumenterte applikasjonsinnstillingane hans. Eit alternativ som ein leverandør ein gong skildra som å la trafikken vere uendra, er ikkje ei generell instruks, og å kopiere det frå ein gammal forumtråd er korleis eit mellombels unntak blir permanent arkitektur.

Viss unntaket ikkje kan avgrensast så snevert, høyrer eksporten truleg til den interne vegen med ein annan tilgangsmetode i staden for bak portalen. Ei fritaking for heile nettstaden er eit vedtak for portaleigaren, ikkje ein omveg for éin rapport.

Godta eksporten, ikkje Lagre-dialogen

Den siste kontrollen er sjølve fila: ho opnar, ho inneheld dei venta kolonnane, og summen stemmer med rapporten brukaren godkjende.

At ein Lagre-dialog dukkar opp, er ikkje suksess, og ei fil som opnar med ei reparasjonsåtvaring, er heller ikkje suksess. Samanlikn eit radtal og éin kjend verdi med rapporten på skjermen, fordi ein avkorta eksport består kvar test som berre ser på filstorleik. Eksporter deretter ein gong til, fordi eit cachelag som éin gong leverer feil body, kanskje leverer den rette ved neste forsøk.

Godta arbeidsflyten brukaren trengde, og ingenting mindre. Ei nedlasting som opnar i feil applikasjon, er framleis ein mislukka eksport.

Relaterte artiklar