Χειρισμός κωδικών κατάστασης με χρήση Web.Contents

Η λειτουργία Web.Contents έχει κάποιες ενσωματωμένες λειτουργίες για την αντιμετώπιση ορισμένων κωδικών κατάστασης HTTP. Μπορείτε να παρακάμψετε την προεπιλεγμένη συμπεριφορά στην επέκτασή σας, χρησιμοποιώντας το ManualStatusHandling πεδίο στην καρτέλα επιλογών.

Αυτόματη επανάληψη

Το Web.Contents επαναλαμβάνει αυτόματα τις αιτήσεις που αποτυγχάνουν με έναν από τους ακόλουθους κωδικούς κατάστασης:

Κώδικας Status
408 Αίτημα Timeout
429 Πάρα πολλές αιτήσεις
503 Μη διαθέσιμη υπηρεσία
504 Χρονικό όριο πύλης
509 Υπέρβαση ορίου εύρους ζώνης

Η συνάρτηση επαναλαμβάνει αιτήματα έως και τρεις φορές πριν αποτύχει. Ο μηχανισμός χρησιμοποιεί έναν εκθετικό αλγόριθμο back-off για να καθορίσει πόσο καιρό θα περιμένει μέχρι την επόμενη επανάληψη, εκτός εάν η απόκριση περιέχει κεφαλίδα Retry-after . Όταν βρεθεί η κεφαλίδα, ο μηχανισμός περιμένει τον καθορισμένο αριθμό δευτερολέπτων πριν από την επόμενη επανάληψη. Ο ελάχιστος υποστηριζόμενος χρόνος αναμονής είναι 0,5 δευτερόλεπτα και η μέγιστη τιμή είναι 120 δευτερόλεπτα.

Σημείωμα

Η Retry-after τιμή πρέπει να είναι στη delta-seconds μορφή. Η HTTP-date μορφή δεν υποστηρίζεται προς το παρόν.

Εξαιρέσεις ελέγχου ταυτότητας

Οι ακόλουθοι κωδικοί κατάστασης προκαλούν εξαίρεση διαπιστευτηρίων. Η εξαίρεση ζητά από τον χρήστη να παράσχει διαπιστευτήρια ή να συνδεθεί ξανά εάν λήξει ένα διακριτικό OAuth.

Κώδικας Status
401 Ανεξουσιοδότητος
403 Δεν επιτρέπεται

Σημείωμα

Οι επεκτάσεις μπορούν να χρησιμοποιήσουν την ManualStatusHandling επιλογή με κωδικούς κατάστασης 401 και 403. Δεν μπορείτε να χρησιμοποιήσετε αυτήν την επιλογή σε Web.Contents κλήσεις που πραγματοποιούνται εκτός μιας προσαρμοσμένης σύνδεσης δεδομένων (δηλαδή, απευθείας από το Power Query).

Ανακατεύθυνση

Οι ακόλουθοι κωδικοί κατάστασης προκαλούν αυτόματη ανακατεύθυνση στο URI που καθορίζεται στην Location κεφαλίδα. Μια κεφαλίδα που λείπει Location προκαλεί σφάλμα.

Κώδικας Status
300 Πολλαπλές επιλογές
301 Μετακινήθηκε μόνιμα
302 Ιδρύω
303 Δείτε άλλα
307 Προσωρινή ανακατεύθυνση

Σημείωμα

Μόνο ο κωδικός κατάστασης 307 διατηρεί μια POST μέθοδο αιτήματος. Όλοι οι άλλοι κωδικοί κατάστασης ανακατεύθυνσης αλλάζουν σε GET.