Invia un messaggio di testo SMS dalla riga di comando
Quando pensi di inviare messaggi di testo probabilmente pensi all'iPhone o ad un Android, e la riga di comando non ti passa per la testa, ma grazie al sempre utile comando curl, puoi inviare un messaggio di testo SMS a qualsiasi telefono numero direttamente dal terminale.
Sì, curl, lo stesso strumento a riga di comando per trasferire dati da e verso gli URL, scaricare file, ottenere i dettagli dell'intestazione HTTP e molto altro ancora, può inviare messaggi di testo.Questo viene fatto tramite una richiesta POST inviata al servizio TextBelt, un'API SMS in uscita gratuita. Sicuramente ci sono dei limiti, ma sono abbastanza generosi con 75 messaggi al giorno (per IP) e non puoi inviare un numero superiore a 3 messaggi in tre minuti per prevenire abusi. A parte questo, tieni presente che ti verranno addebitati i messaggi in arrivo alla normale tariffa SMS/sms dal tuo gestore di telefonia mobile - questo non utilizza il servizio iMessage - quindi non abusarne se non disponi di un numero illimitato piano di messaggistica tradizionale.
Invio di un messaggio di testo dalla riga di comando con curl
La sintassi di base da utilizzare è la seguente, assicurarsi di sostituirecon il proprio numero di telefono a 10 cifre (10 cifre=prefisso + numero di telefono), e poi sostituisci il testo message=con il tuo messaggio da inviare:
" curl http://textbelt.com/text -d numero=-d messaggio=il testo va qui "
Ad esempio, per inviare un messaggio di testo che dice "ciao da OSXDaily.com" al numero di telefono 555-155-1555 (non un numero reale), utilizzare la seguente stringa di comando:
curl http://textbelt.com/text -d numero=5551551555 -d messaggio=ciao da OSXDaily.com "
Sì, potresti inserire anche il numero di telefono di un' altra persona, ma probabilmente non dovresti farlo senza il suo permesso.
Se il testo è stato inviato con successo, la riga di comando restituirà un messaggio che indica '{“success”:true}', se fallisce per qualsiasi motivo, sarà simile al seguente, che è solitamente indicativo di un errore nella sintassi del comando: '{“success”:false, ”message”: “Numero e parametri del messaggio sono obbligatori.”} curl: (6) Impossibile risolvere host:' Basta rivedere la stringa di comando e riprova.
Il messaggio di testo dovrebbe arrivare sul tuo iPhone o Android molto rapidamente, anche se l'utilità del servizio probabilmente dipende da una coda e dalla quantità di attività che TextBelt sta ricevendo da altrove. Risulterà simile a questo:
(Se te lo stai chiedendo, rispondere ai messaggi non va da nessuna parte e non fa nulla, non è un servizio a 2 vie)
Funziona per inviare messaggi da Mac OS X, Linux e presumibilmente qualsiasi altro sistema operativo o servizio con accesso curl. Il lato destinatario dovrebbe funzionare con qualsiasi telefono cellulare che accetti SMS, che si tratti di un iPhone o di un vecchio Nokia in mattoni.
Aggiunta di un rapido comando "Invia testo" a Bash
Se ti piace la comodità di inviarti messaggi dal terminale e prevedi di usarlo spesso, puoi creare un semplice script bash per abbreviare la stringa di comando aggiungendo quanto segue al tuo .bash_profile. Assicurati di sostituire il numero con il tuo numero di telefono a 10 cifre:
"sendtext () { curl http://textbelt.com/text -d numero=5551113333 -d messaggio=$1;echo messaggio inviato; }"
Con quello nel tuo bash_profile, puoi semplicemente digitare "sendtext il tuo messaggio va qui" per inviare un messaggio a te stesso. Ciò consente anche un po 'di divertimento e utilità con la doppia e commerciale &&, come l'invio di avvisi SMS al termine dell'installazione di un pacchetto software o al termine del download di un file remoto. Coloro che hanno esperienza con la riga di comando possono probabilmente pensare a un milione e un altro utile utilizzo anche per questo.
Secondo TextBelt, il servizio funziona sicuramente negli Stati Uniti con le seguenti reti cellulari: Alltel, Ameritech, AT&T Wireless, Boost, CellularOne, Cingular, Sprint PCS, Telus Mobility, T-Mobile, Metro PCS , Nextel, O2, Orange, Qwest, Rogers Wireless, US Cellular, Verizon, Virgin Mobile. Questo potrebbe essere limitato agli Stati Uniti, ma non siamo in grado di testare le reti al di fuori della regione, facci sapere se provi altrove.