Kadang-kadang menjadi penting untuk mengirim pesan anonim ke penerima yang tepat, tanpa menggunakan telepon Anda atau ketika Anda hanya memiliki komputer yang memiliki akses Internet dan konsol terbuka.
Dalam banyak film ada saat ketika seorang hacker membobol seseorang perlu mengirim pesan ke nomornya untuk mengalihkan perhatian atau menakut-nakuti dia, dan dalam situasi seperti itu hal yang paling penting adalah bahwa ketika orang memanggil nomor dari mana SMS masuk, layar ponsel cerdas Anda tidak menyala dan musik mulai diputar. Ups ... Situasi canggung. Dalam topik ini, kami akan menulis sebuah program dalam C ++ yang memungkinkan Anda mengirim SMS tanpa menggunakan nomor, kartu SIM, dan jiwa Anda.
Kata "Anonimitas" menyiratkan bahwa siapa yang mengirim pesan tidak benar-benar dikenali, tetapi tidak semuanya baik. Selama persidangan, fakta ini akan diklarifikasi, sehingga dengan lelucon yang sangat serius saya tidak akan mengunjungi Anda untuk pengujian.
Peringatan Tugas itu bisa diselesaikan dengan cara yang lebih mudah. Dalam topik ini, salah satu solusi diberikan dalam bahasa c ++.
Mari kita mulai bisnis.
Layanan bytehand adalah solusi bisnis yang memungkinkan Anda melakukan pengiriman massal dan pesan tunggal. Fitur utama dari layanan ini dan mengapa saya memilihnya adalah API yang tersedia dari semua platform, yang merupakan HTTP Request-Response dengan sistem otorisasi yang sangat sederhana.
Inilah yang kami butuhkan:
- Akun Bytehand
- 100 rubel dalam akun (Dan apa yang Anda inginkan, SMS tidak gratis)
- Program konsol C ++
- Pustaka Boost.Asio dan OpenSSL yang dikompilasi untuk koneksi https
- Sertifikat yang dibuat melalui OpenSSL untuk pertukaran data yang aman dengan layanan bytehand.
Pertama-tama, daftarkan pada layanan bytehand. Registrasi adalah email dan kata sandi yang dimasukkan. Ini sudah cukup. Setelah itu, akun Anda dibuat dan ketika mengisi akun (setidaknya 100 rubel) Anda sudah dapat mengirim pesan dengan header SMS-INFO. Untuk sebagian besar operator, entri ini diganti dengan nomor keberangkatan. Jika mau, Anda dapat membuat alias teks Anda sendiri.
Selanjutnya kita naik ke API sumber daya. Dan kami melihat bahwa untuk mengirim SMS Anda hanya perlu membentuk paket data berikut:
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!!" }
Saya menarik perhatian Anda pada fakta bahwa X-Service-Key di header http adalah seluruh otorisasi. Kunci ini dapat dilihat di pengaturan di situs di bagian "keamanan".
Saya pikir semuanya sudah jelas di sini dan Anda dapat mulai menulis program konsol di c ++
Pertama-tama, saya sajikan kepada Anda sepotong kode yang, menggunakan Boost.Asio, membuat koneksi ke situs menggunakan protokol https
Kode menggunakan tautan ke file sertifikat dh2048.pem. Anda menggantinya dengan milik Anda.
Anda juga dapat melihat bahwa di sini nama domain api.bytehand.com digunakan sebagai server
Berikut ini adalah contoh bagaimana header dan badan permintaan http untuk server dibentuk.
int main() {
Saya mengingatkan Anda bahwa Anda mengganti bidang X-Service-Key dengan kunci Anda.
Setelah mengeksekusi kode ini dan jika semuanya berjalan sebagaimana mestinya, server mengembalikan respons:
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 }
Pada titik ini, uang dikirim ke akun Anda untuk mengirim pesan. Dan pesannya pergi ke penerima. Ketika dia menerimanya, itu akan menjadi nomor perusahaan atau pengenal teks dan tidak mungkin seseorang akan mengerti dari siapa pesan ini.
Inilah yang terjadi ketika saya menulis program ini:
Ternyata dengan canggung, tapi apa. Semoga beruntung untuk semua orang, mungkin topik ini membantu Anda dengan sesuatu.
Ini artikel kedua saya di sini. Terima kasih sudah membaca. Selamat mencoba mengembangkan aplikasi Anda.