Pas de micro-canal de la fonction publique et le développement --- vérification message de réponse

Après la première phase de travail, les aspects de configuration du serveur du numéro public est terminé, l'étape suivante est le développement de l'environnement bâti.

Préparatifs Voir l'article:

0. message de trajet de transmission

1. Démarrez xShell, redirection de port ouvert

Suivez la sur la configuration de l'article xShell, après l'ouverture d'une connexion au serveur, la redirection de port fonctionne, vous pouvez demander à être transmis à l'opération locale du serveur.

2. Démarrez le service HTTP, l'acceptation du public de la demande envoyée par le serveur No.

Ouvrez un service HTTP localement, le port du récepteur local au port et la première étape de la configuration même. Cliquez sur le public au moment de la vérification du nombre de serveurs, le nombre d'agent public envoie une requête GET sur les paramètres pertinents sont les suivants.

1, signature cryptée micro-canal de signature, les moissonneuses - batteuses de signature d' un développeur de paramètre d'estampille temporelle des paramètres de demande de jeton rempli, les paramètres de nonce.
2, horodatage d'horodatage
3, nonce aléatoire
4, echostr vérification réussit, la chaîne retournée.
5, jeton pour le numéro de jeton dans un cadre public.
Après avoir reçu la requête GET, analyse les quatre paramètres de la requête GET. Après avoir calculé les étapes suivantes pour terminer.

vérifier organigramme

C L'exemple de code ci-dessous

void CHttpServer::Get_Chat(std::shared_ptr<HttpServer::Response> response, std::shared_ptr<HttpServer::Request> request) {
		std::string strSignature = GetHttpParamValue(request, "signature");
		std::string strTimeStamp = GetHttpParamValue(request, "timestamp");
		std::string strNonce = GetHttpParamValue(request, "nonce");
		std::string strEchoStr = GetHttpParamValue(request, "echostr");
		{
			std::vector<std::string> strArray;
			strArray.push_back(strTimeStamp);
			strArray.push_back(strNonce);
			strArray.push_back(g_strTOKEN);
			std::sort(strArray.begin(), strArray.end());

			std::string strSHA1Src = strArray[0] + strArray[1] + strArray[2];

			SHA1Util util;
			util.update(strSHA1Src);
			std::string strSha1 = util.final();
			if (strSha1 == strSignature)
			{
				LOG_INFO(ms_loger, "My Base64:{} Org Base 64:{}", strSha1, strSignature);
			}
			else
			{
				LOG_ERR(ms_loger, "My Base64:{} Org Base 64:{}", strSha1, strSignature);
			}

		}
		*response << "HTTP/1.1 200 OK\r\nContent-Length: " << strEchoStr.length() << "\r\n\r\n"
			<< strEchoStr;
	}

Ainsi, le processus de vérification est terminée.

3. Texte émetteur-récepteur de messages

numéro de message public sous la forme d'un émetteur-récepteur avec une demande d'URL de différentes façons.

Par exemple, l'étape de vérification URL est https://www.dennisthink.com/WeChat , méthode de requête pour obtenir. Recevez ensuite une URL de message est https://www.dennisthink.com/WeChat , juste la façon dont la demande devient un POST.

Reçu du message POST est au format XML, le sens de spécifique chaque partie de la documentation officielle pour recevoir un message commun définition.

Après avoir reçu le message, selon les documents officiels message de réponse passive message de réponse.

Pour numéro d'abonnement prend déjà en charge cette fonctionnalité, et si vous avez des questions, s'il vous plaît me donner un échange de messages.

Je suppose que tu aimes

Origine www.cnblogs.com/Dennis-mi/p/12592231.html
conseillé
Classement