۱۳۹۹ فروردین ۱۲, سه‌شنبه

چطور پیامک میفرستادیم

وقتی که برنامه نویسی رو شروع کردم، تسکی گرفتم برای ارسال پیامک به مشتری هامون. خیلی هم عالی! فکر میکنم باید با جاوا ۵ یا ۶ پیاده میشد، چیزی که مطمئن هستم این که سرویس دهنده ما از روش‌های قدیمی برای دریافت پیامک از طرف ما استفاده میکرد. من این کد رو از آقای مجیدی (یکی از مدیران اون مجموعه، که واقعاً کارش درست بود) گرفتم، و حالا اون با شما هم به اشتراک میزارم،‌ شاید روزی بدرد کسی خورد:

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class SMS {
    public static void sendSms(String mobile, String msg) throws Exception {
        String url = "{SERVER_URL}";
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection)obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", "Mozilla/5.0");
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        con.setRequestProperty("accept-charset", "UTF-8");
        String urlParam =
                "HEADER={YOUR_SMS_NUMBER}&DESTINATION=" + "{COUNTRY_CODE}" + mobile.substring(1) +
                        "&MESSAGEID=1&MESSAGE=" + msg + "&DCS=8";
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        BufferedWriter writer =
                new BufferedWriter(new OutputStreamWriter(wr, "UTF-8"));
        writer.write(urlParam);
        writer.close();
        wr.close();
        int responseCode = con.getResponseCode();
        BufferedReader in =
                new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
    }
}