Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 4352|Απάντηση: 2

[JavaScript] Το ajax-hook για την ανάπτυξη ιστοσελίδων αναχαιτίζει όλα τα αιτήματα XMLHttpRequest

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 22/6/2023 10:29:45 π.μ. | | | |
Απαιτήσεις: Υποκλέψτε όλα τα αιτήματα XMLHttpRequest και όταν η διεπαφή υποστήριξης επιστρέψει τον κωδικό μη έγκυρης κατάστασης σύνδεσης, μεταβείτε απευθείας στη διεπαφή σύνδεσης και μην τον μεταβιβάσετε πλέον. Μπορεί επίσης να χρησιμοποιηθεί για να ζητήσει την προσθήκη ενοποιημένων υπογραφών, αυτόματη ανάλυση πρωτοκόλλου, στατιστικά κλήσεων διεπαφής κ.λπ.

Αναθεώρηση:

Το jQuery αναχαιτίζει τα αποτελέσματα που επιστρέφονται από τον Άγιαξ
https://www.itsvse.com/thread-9570-1-1.html
Ενώ το jQuery μπορεί να υποκλέψει αιτήματα Ajax, περιορίζεται στον καλούντα που χρησιμοποιεί μεθόδους ajax στο jQuery και δεν μπορεί να υποκλέψει αιτήματα χρησιμοποιώντας το εγγενές XMLHttpRequest.Δεδομένου ότι το αίτημα ajax στο jQuery είναι επίσης μια ενθυλάκωση του XMLHttpRequest, μπορούμε πραγματικά να υποκλέψουμε το XMLHttpRequest

Το ajax-hook είναι μια ελαφριά βιβλιοθήκη για την υποκλοπή αντικειμένων XMLHttpRequest του προγράμματος περιήγησης, η οποία μπορεί να χρησιμοποιηθεί για την προεπεξεργασία αιτημάτων, απαντήσεων και σφαλμάτων πριν το αντικείμενο XMLHttpRequest ξεκινήσει ένα αίτημα, μετά τη λήψη του περιεχομένου της απάντησης και όταν παρουσιαστεί σφάλμα. Το Ajax-hook είναι εξαιρετικά συμβατό και μπορεί να εκτελεστεί σε οποιοδήποτε πρόγραμμα περιήγησης που υποστηρίζει ES5, καθώς δεν βασίζεται σε λειτουργίες ES6.

Αρχή: ajax-hook προσαρμόζει τις μεθόδους και τις ιδιότητες στο XMLHttpRequest για να παρακάμψει το καθολικό αντικείμενο XMLHttpRequest. Αναδιπλώνεται ένα επίπεδο ενδιάμεσου εξυπηρετητή για το αντικείμενο XMLHttpRequest.

Διεύθυνση ανοιχτού κώδικα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Διεύθυνση CDN:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Πληρεξούσιος εναντίον γάντζου

Τόσο η proxy() όσο και η hook() μπορούν να χρησιμοποιηθούν για την υποκλοπή καθολικών XMLHttpRequests. Οι διαφορές τους είναι:hook() έχει λεπτή ευαισθησία αναχαίτισης, μπορεί να είναι συγκεκριμένο για μια συγκεκριμένη μέθοδο, χαρακτηριστικό ή επανάκληση του αντικειμένου XMLHttpRequest, αλλά είναι πιο ενοχλητικό στη χρήση και πολλές φορές, όχι μόνο η επιχειρηματική λογική πρέπει να είναι διάσπαρτη σε διάφορες επανακλήσεις, αλλά και επιρρεπής σε σφάλματα. ενώproxy() έχει υψηλό βαθμό αφαίρεσηςκαι δημιουργείται το πλαίσιο αιτήματος (η διαμόρφωση πληροφοριών αιτήματος μπορεί να ληφθεί απευθείας σε κάθε επανάκληση), το οποίο είναι απλούστερο και πιο αποτελεσματικό στη χρήση.

Τις περισσότερες φορές, εμείςΣυνιστάται η χρήση της μεθόδου proxy() εκτός εάν δεν ανταποκρίνεται στις ανάγκες σας

Προσπαθήστε να προσθέσετε υποκλοπή αιτήματος ajax jQuery και υποκλοπή διακομιστή μεσολάβησης στο ajax-hook, ο κώδικας είναι ο εξής:

Δοκιμάστε να στείλετε ένα αίτημα λήψης χρησιμοποιώντας το jQuery και μπορείτε να το δείτεΚαι τα δύο μπορούν να αναχαιτιστούν, όπως φαίνεται στο παρακάτω σχήμα:



Στείλτε ένα αίτημα χρησιμοποιώντας το εγγενές XMLHttpRequest, ανακαλύψτεΜόνο το άγιαξ-άγκιστρο μπορεί να αναχαιτίσει, όπως φαίνεται στο παρακάτω σχήμα:



Περισσότερες χρήσεις του διακομιστή μεσολάβησης ajax-hook:

Παράδειγμα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

(Τέλος)





Προηγούμενος:Οι προτάσεις EF SQL δημιουργούν αυτόματα IS NULL ή IS NOT NULL
Επόμενος:.NET/C# HttpClient πηγαίος κώδικας απλή ανάλυση
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 22/6/2023 10:32:52 π.μ. |
Υποκλοπή αιτημάτων και απαντήσεων API fetch():https://stackoverflow.com/questi ... onses-in-javascript
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 18/4/2024 8:39:18 π.μ. |
Υποκλοπή απόκρισης HTTP 401 Μη εξουσιοδοτημένος κωδικός σύνδεσης μετάβασης:

Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com