Parfois, il devient nécessaire d'envoyer un message anonyme au bon destinataire, sans utiliser votre téléphone ou lorsque vous ne disposez que d'un ordinateur disposant d'un accès Internet et d'une console ouverte.
Dans de nombreux films, il y a un moment où un pirate piratant une personne doit envoyer un message à son numéro pour le distraire ou l'effrayer, et dans de telles situations, la chose la plus importante est que lorsque la personne appelle le numéro à partir duquel le SMS est entré, l'écran de votre smartphone ne s'allume pas et la musique a commencé à jouer. Oups ... Situation délicate. Dans cette rubrique, nous allons écrire un programme en C ++ qui vous permettra d'envoyer des SMS sans utiliser votre numéro, votre carte SIM et votre âme.
Le mot «anonymat» implique que celui qui a envoyé le message n'est pas vraiment reconnu, mais tout n'est pas si bon. Pendant le procès, ce fait sera clarifié, de sorte que, avec des blagues particulièrement graves, je ne viendrai pas vous rendre visite pour des tests.
Avertissement La tâche pourrait être résolue de manière plus simple. Dans cette rubrique, l'une des solutions est donnée en langage c ++.
Passons aux choses sérieuses.
Le service bytehand est une solution commerciale qui vous permet de faire des envois de masse et des messages uniques. La principale caractéristique du service et pourquoi je l'ai choisi est une API disponible sur toutes les plateformes, qui est une requête-réponse HTTP avec un système d'autorisation très simple.
Voici ce dont nous avons besoin:
- Compte Bytehand
- 100 roubles sur le compte (Et que voulez-vous, les SMS ne sont pas gratuits)
- Programme de console C ++
- Bibliothèques Boost.Asio et OpenSSL compilées pour les connexions https
- Un certificat créé via OpenSSL pour un échange de données sécurisé avec le service bytehand.
Tout d'abord, inscrivez-vous sur le service bytehand. L'inscription est un e-mail et un mot de passe saisis. C'est déjà assez. Après cela, votre compte est créé et lors de la reconstitution du compte (au moins 100 roubles), vous pouvez déjà envoyer des messages avec l'en-tête SMS-INFO. Pour la plupart des opérateurs, cette entrée est remplacée par le numéro de départ. Si vous le souhaitez, vous pouvez créer votre propre alias de texte.
Ensuite, nous montons dans l'API des ressources. Et nous voyons que pour envoyer des SMS, il vous suffit de former le paquet de données suivant:
POST /v2/sms/messages HTTP/1.1 Host: api.bytehand.com Connection: close Content-Length: * Content-Type: application/json;charset=UTF-8 X-Service-Key: ab4db0b982dcd0ba63e44191e5d71ef8 { "sender": "MyShop", "receiver": "+79167654321", "text": "Today only! 20% off for all goods!!" }
J'attire votre attention sur le fait que la X-Service-Key dans l'en-tête http est la totalité de l'autorisation. Cette clé peut être consultée dans les paramètres du site dans la section «sécurité».
Je pense que tout est clair ici et vous pouvez commencer à écrire un programme console en c ++
Tout d'abord, je présente à votre attention un morceau de code qui, à l'aide de Boost.Asio, établit une connexion au site en utilisant le protocole https
Le code utilise le lien vers le fichier de certificat dh2048.pem. Vous le remplacez par le vôtre.
Vous pouvez également voir qu'ici le nom de domaine api.bytehand.com est utilisé comme serveur
Voici un exemple de la formation de l'en-tête et du corps de la demande http pour le serveur.
int main() {
Je vous rappelle que vous remplacez le champ X-Service-Key par votre clé.
Après avoir exécuté ce code et si tout s'est déroulé comme il se doit, le serveur renvoie une réponse:
Status Code: 200 Content-Type: application/json;charset=UTF-8 Content-Language: en Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache { "result": "created", "count": 1 }
À ce stade, de l'argent est envoyé sur votre compte pour envoyer un message. Et le message va au destinataire. Lorsqu'il le recevra, ce sera un numéro d'entreprise ou un identifiant texte et il est peu probable qu'une personne comprenne de qui provient ce message.
Voici ce qui s'est passé lorsque j'ai écrit ce programme:
Il s'est avéré maladroitement, mais ce qui est. Bonne chance à tous, peut-être que ce sujet vous a aidé avec quelque chose.
C'était mon deuxième article ici. Merci d'avoir lu. Bonne chance pour développer vos applications.