Πέρασμα του URL πριν από τον host σε προσαρμοσμένο δοκιμαστή PAC
Καλέστε το FindProxyForURL πρώτα με το πλήρες URL και έπειτα με το εξαγόμενο όνομα host, πριν εμπιστευτείτε το αποτέλεσμα δρομολόγησης του προσαρμοσμένου αξιολογητή.
Μια χειροποίητη σελίδα δοκιμής PAC έχει δύο πεδία με τις ετικέτες Host και URL. Το κουμπί περνά τις τιμές τους με αυτή τη σειρά. Δυστυχώς, η συνάρτηση PAC περιμένει την αντίστροφη σειρά.
FindProxyForURL(url, host)
Για έναν ενδεικτικό προορισμό, η κλήση θα πρέπει να μοιάζει έτσι:
FindProxyForURL("https://status.office.example/", "status.office.example")
Το δεύτερο όρισμα είναι όνομα host, χωρίς το σχήμα, τη διαδρομή ή τη θύρα. Ένας κανόνας που συγκρίνει το host με γνωστό όνομα δεν θα ταιριάξει όταν η υποδομή δοκιμής δώσει εκεί ένα πλήρες URL.
Και οι δύο είσοδοι είναι συμβολοσειρές, οπότε η JavaScript δεν χρειάζεται να πετάξει σφάλμα. Το σκριπτ μπορεί ήσυχα να φτάσει στο τελικό return του και να εμφανίσει έναν φαινομενικά λογικό διαμεσολαβητή. Γι' αυτό αυτό το σφάλμα μπερδεύεται ιδιαίτερα εύκολα με έναν κακό κανόνα τομέα.
Ελέγξτε την κλήση πριν από τον κανόνα
Διαβάστε την κλήση της συνάρτησης στην υποδομή δοκιμής και επιθεωρήστε τις δύο τιμές σε αυτό το όριο. Έπειτα συγκρίνετε μια γνωστή εξαίρεση ακριβούς host με έναν άσχετο host που θα έπρεπε να χρησιμοποιεί την προεπιλεγμένη διαδρομή. Μην αρχίσετε να διευρύνετε την εξαίρεση μέχρι να ταιριάξει με την παραμορφωμένη είσοδο.
Μια διορθωμένη κλήση αφήνει ακόμη το βοηθητικό περιβάλλον του αξιολογητή προς εξέταση. Ένα σταθερό myIpAddress() ή ένας απούσας βοηθός DNS δεν είναι η πραγματική κατάσταση δικτύου του προγράμματος περιήγησης. Κρατήστε τα ως ξεχωριστά ερωτήματα. Η άμεση επισκευή είναι το συμβόλαιο παραμέτρων· η επόμενη επισκευή, αν χρειαστεί, είναι να αναπαριστά το περιβάλλον δοκιμής τον προβλεπόμενο καταναλωτή.