Kako poslati SMS iz Java

Najenostavnejši način za pošiljanje SMS-ov iz Java je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve na SMS gateway. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS gateway bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako poslati sms iz java
Slika 1 - Kako poslati SMS iz Java

Java koda za pošiljanje sms na mobilni telefon

Spodnji Java sms primer kode prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo knjižnice Java Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.

Main.java
import Ozeki.Libs.Rest.*;

public class Main {

    public static void main(String[] args) {

        var configuration = new Configuration();
        configuration.Username = "http_user";
        configuration.Password = "qwe123";
        configuration.ApiURL = "http://127.0.0.1:9509/api";

        var msg = new Message();
        msg.ToAddress = "+36201111111";
        msg.Text = "Hello world";

        var api = new MessageApi(configuration);
        
        var result = api.Send(msg);
        
        System.out.println(result);
    }
}
	

Kako uporabiti Java sms primer:

Uporabite lahko razred Message za ustvarjanje SMS in razred MessageApi lahko uporabite za pošiljanje SMS-a na SMS gateway. SMS gateway bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.

Prenesite SendSms.java

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendSms.java.zip (89.3Kb)

Kaj je v datoteki SendSms.java.zip?

Datoteka SendSms.java.zip vsebuje knjižnico Ozeki, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V projektu boste našli tudi datoteko Main.java, ki vsebuje primer kode, ki vam pokaže kako poslati SMS. Ta primer kode je naveden spodaj.

pošlji sms java imenik
Slika 2 - SendSms.java imenik

Kako poslati SMS iz Java (Hitri koraki)

Za pošiljanje sms iz Java:

  1. Namestite Ozeki SMS Gateway
  2. Povežite Ozeki SMS Gateway z mobilnim omrežjem
  3. Pošljite testni sms iz Ozeki GUI
  4. Ustvarite uporabnika HTTP sms api
  5. Apache NetBeans
  6. Ustvarite projekt z imenom SendSms
  7. Vstavite kodo v novo ustvarjeno datoteko Main.java ali uporabite datoteko Main.java v .zip
  8. Ustvarite SMS z ustvarjanjem novega objekta Message
  9. Ustvarite api za pošiljanje vašega sporočila
  10. Uporabite metodo Send za pošiljanje vašega sporočila
  11. Preberite odzivno sporočilo na konzoli
  12. Preverite dnevnike v SMS gateway
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API

Da lahko pošiljate SMS iz Java, morate najprej namestiti Ozeki SMS Gateway. SMS gateway lahko namestite na istem računalniku, kjer razvijate svojo Java kodo v Apache NetBeans. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni sms iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Končni korak za pripravo vašega okolja je ustvarjanje uporabnika HTTP sms api. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.

Ko je okolje pripravljeno, lahko zaženete svojo Java kodo.

HTTP API url za pošiljanje sms iz Java

Za pošiljanje SMS-ov iz Java bo vaša Java morala izdati HTTP zahtevo na SMS gateway. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS gateway. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče Java sms aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
	
HTTP avtentikacija za pošiljanje sms iz Java

Za avtentikacijo Java sms odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(username+":"+password). V Java lahko za to kodiranje uporabite naslednjo kodo:

var usernamePassword = username + ":" + password;
var encodedUsernamePassword = usernamePassword.getBytes();
return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
	

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

HTTP glava zahteve za pošiljanje SMS iz Java

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo tip vsebine in glavo Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP zahteva za pošiljanje SMS iz Jave

Za oddajo SMS bo vaša Java aplikacija poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del HTTP glave in del HTTP telesa. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 319
Content-Type: application/json
Accept: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Java-http-client/16.0.1
  
{
	"messages":	[
		{
			"message_id":"f5035474-77d7-4be0-9ace-14bf3105940e",
			"submit_report_requested":true,
			"view_report_requested":true,
			"valid_until":"2021-06-18 13:37:47",
			"time_to_send":"2021-06-11 13:37:47",
			"to_address":"+36201111111",
			"text":"Hello world",
			"create_date":"2021-06-11 13:37:47",
			"delivery_report_requested":true
		}
	]
}

	
HTTP odziv, prejet v Java SMS primeru

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.120 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 11 Jun 2021 13:37:11 GMT
Server: 10/10.3.120
Transfer-Encoding: chunked

{
"http_code": 200,
"response_code": "SUCCESS",
"response_msg": "Messages queued for delivery.",
"data": {
  "total_count": 1,
  "success_count": 1,
  "failed_count": 0,
  "messages": [
    {
      "message_id": "f5035474-77d7-4be0-9ace-14bf3105940e",
      "from_station": "%",
      "to_address": "+36201111111",
      "to_station": "%",
      "text": "Hello world",
      "create_date": "2021-06-11 13:37:47",
      "valid_until": "2021-06-18 13:37:47",
      "time_to_send": "2021-06-11 13:37:47",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": false,
      "tags": [
        {
          "name": "Type",
          "value": "SMS:TEXT"
        }
      ],
      "status": "SUCCESS"
    }
  ]
}
}
	
Kako poslati SMS iz Jave z uporabo Java SMS API (video vadnica)

Ta video vam pokaže, kako ustvariti nov projekt v Apache NetBeans, kako ga poimenovati v SendSms. Ko je rešitev ustvarjena, boste morda opazili, da je v vašem projektu mapa z imenom <default package> znotraj mape Source Packages. Tu boste ustvarili ali prilepili datoteko Main.java. Nato morate mapo Ozeki prilepiti v mapo Source Packages in to so vse priprave, ki jih potrebujete za pošiljanje SMS z Javo.

Video 1 - Kako poslati SMS iz Jave z uporabo Java SMS API (video vadnica)

Java SMS primer: Main.java

Slika 3 - Projekt SendSms

Kako preveriti, ali je HTTP uporabnik SMS sprejel

Po oddaji SMS je dobro preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika iz upravljalne konzole Ozeki SMS Gateway. Naslednji video vam pokaže, kaj morate iskati.

Video 2 - Kako poslati SMS z zgornjo Java kodo (video vadnica)

Kako preveriti, ali je bil SMS poslan v mobilno omrežje

Zadnji korak pri preverjanju postopka je pogled v dnevnike povezave z mobilnim omrežjem. Morda boste morali vklopiti beleženje v nastavitvah povezave, preden pošljete sporočilo, da boste videli dnevnike. Če je beleženje vklopljeno, boste videli telefonsko številko in besedilo sporočila, ki ste ga poslali.

Video 3 - Kako vklopiti beleženje v Ozeki SMS Gateway (video vadnica)

Za vklop beleženja v http_user morate slediti istim navodilom.

Zaključek

Ta članek je razložil osnove pošiljanja SMS v Javi s pomočjo Ozeki SMS Gateway. Če ste zgornje korake skrbno sledili, prenašanje sporočil v Javi ne bi smelo povzročati skrbi. Ozeki SMS Gateway ponuja visoko zmogljivost, kar pomeni, da lahko pošlje do 1000 SMS na sekundo, zato vsekakor pomaga vašemu podjetju, da ohranja visok standard.

Poskrbite, da ne končate branja tukaj, obiščite Ozekijevo stran z vadnicami in se naučite o stvareh, kot so pošiljanje več SMS hkrati in brisanje SMS v Javi.

Zdaj je edina stvar, ki jo morate storiti, prenesti Ozeki SMS Gateway in začeti delati!

More information