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

Άποψη: 18189|Απάντηση: 0

[Διαδικτυακό API] ASP.NET WEB API ανταποκρίνεται σε αιτήματα WeChat

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 24/11/2018 3:59:26 μ.μ. | | | |
Επαλήθευση διακριτικού WeChat

Πήγαινε πίσω

1. Η μέθοδος πρόσβασης της δημόσιας πλατφόρμας WeChat δεν είναι τίποτα περισσότερο από 4 παραμέτρους (υπογραφή, χρονική σήμανση, nonce, echostr) συν 1 διακριτικό (που αντιστοιχεί και στις δύο πλευρές)

2. Αφού ταξινομήσετε τα λεξικά token, timestamp και nonce, κρυπτογραφήστε τα σύμφωνα με τη συμβολοσειρά "SHA1". Αποδίδει μια συμβολοσειρά tmpStr (μετατρέπεται σε πεζά)

3. Στη συνέχεια, συγκρίνετε εάν το tmpStr είναι ίσο με την υπογραφή, εάν είναι ίσο, σημαίνει ότι το αίτημα προέρχεται από το WeChat.


4. Εάν βεβαιωθείτε ότι το αίτημα προέρχεται από το WeChat, έχετε ολοκληρώσει ένα μεγάλο βήμα. Το υπόλοιπο, το έργο της μετάδοσης της παραμέτρου echostr στη δημόσια πλατφόρμα WeChat.

Η επαλήθευση της υπογραφής μου είναι επιτυχής, αλλά το WeChat εξακολουθεί να αποτυγχάνει να επιστρέψει διακριτικό επειδή επέστρεψα μια συμβολοσειρά με μορφή xml, ως εξής:



Λύση:



Εδώ θα πρέπει να τονιστεί ότι αναφέρονται στο echo $echoStr της PHP, στο Response.Write(echoStr) του WebFrom, κ.λπ.
Μετά τον εντοπισμό σφαλμάτων ξανά και ξανά, διαπιστώθηκε ότι η μέθοδος αποδοχής του WeChat θα γινόταν αποδεκτή μόνο ως "application/x-www-form-urlencoded", οπότε χρησιμοποίησα το HttpResponseMessage για να καθορίσω τη μέθοδο εξόδου του. Τελικά η δοκιμή ήταν επιτυχής!


Ωστόσο, προσωπικά πιστεύω ότι η παραπάνω πρόταση δεν είναι λάθος, αλλά είμαι τεμπέλης να δοκιμάσω και θα πρέπει να είναι εντάξει να ορίσω το "κείμενο/απλό" στον αντίστοιχο τύπο.

Επιστροφές POST

Πρόσφατα, η λειτουργία πληρωμής WeChat χρησιμοποιήθηκε στην ανάπτυξη μίνι προγραμμάτων WeChat και ASP.NET WEB API για ανάπτυξη διεπαφής.

Μετά την επιτυχή πληρωμή, η διεπαφή λαμβάνει το αποτέλεσμα ειδοποίησης πληρωμής από τον διακομιστή WeChat, επεξεργάζεται τα δεδομένα και επιστρέφει τα δεδομένα στην υπηρεσία WeChat.

Ο διακομιστής WeChat δεν αναγνωρίζει τα δεδομένα που επιστρέφονται, με αποτέλεσμα διπλές ειδοποιήσεις.

Ο τελικός κωδικός επίλυσης έχει ως εξής:








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

Mail To:help@itsvse.com