Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to send an SMS programmatically using java?
    primarykey
    data
    text
    <p>I need to send an SMS through my Java Application. I had piece of code that used to work perfectly well where I had made use of a SMS sending site. However the site introduced captcha verification because of which my code fails. Please find the below code that I had tried. Request you to please guide me through any other alternatives that I can make use of sending SMS through Java.</p> <pre><code>package com.test; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; public class Mobiletry2 { private final String LOGIN_URL = "http://*****.com/login.php"; private final String SEND_SMS_URL = "http://*****.com/home.php"; private final String LOGOUT_URL = "http://*****.com/logout.php?LogOut=1"; private final int MESSAGE_LENGTH = 10; private final int MOBILE_NUMBER_LENGTH = 140; private final int PASSWORD_LENGTH = 10; private String mobileNo; private String password; private DefaultHttpClient httpclient; Mobiletry2(String username,String password) { this.mobileNo = username; this.password = password; httpclient = new DefaultHttpClient(); } public boolean isLoggedIn() throws IOException { // User Credentials on Login page are sent using POST // So create httpost object HttpPost httpost = new HttpPost(LOGIN_URL); // Add post variables to login url List&lt;NameValuePair&gt; nvps = new ArrayList&lt;NameValuePair&gt;(); nvps.add(new BasicNameValuePair("MobileNoLogin", mobileNo)); nvps.add(new BasicNameValuePair("LoginPassword", password)); httpost.setEntity(new UrlEncodedFormEntity(nvps)); // Execute request HttpResponse response = this.httpclient.execute(httpost); //Check response entity HttpEntity entity = response.getEntity(); if (entity != null) { System.out.println("entity " + slurp(entity.getContent(), 10000000)); System.out.println("entity " + response.getStatusLine().getStatusCode()); return true; } return false; } public boolean sendSMS(String toMobile,String message) throws IOException { HttpPost httpost = new HttpPost(SEND_SMS_URL); List&lt;NameValuePair&gt; nvps = new ArrayList&lt;NameValuePair&gt;(); nvps.add(new BasicNameValuePair("MobileNos", toMobile)); nvps.add(new BasicNameValuePair("Message", message)); httpost.setEntity(new UrlEncodedFormEntity(nvps)); HttpResponse response = this.httpclient.execute(httpost); HttpEntity entity = response.getEntity(); if(entity != null) { System.out.println("entity " + slurp(entity.getContent(), 10000000)); System.out.println("entity " + response.getStatusLine().getStatusCode()); return true; } return false; } public boolean logoutSMS() throws IOException { HttpGet httpGet = new HttpGet(LOGOUT_URL); HttpResponse response; response = this.httpclient.execute(httpGet); HttpEntity entity = response.getEntity(); if (entity != null) { System.out .println("entity " + slurp(entity.getContent(), 10000000)); System.out.println("entity " + response.getStatusLine().getStatusCode()); return true; } return false; } public static String slurp(final InputStream is, final int bufferSize) { final char[] buffer = new char[bufferSize]; final StringBuilder out = new StringBuilder(); try { final Reader in = new InputStreamReader(is, "UTF-8"); try { for (;;) { int rsz = in.read(buffer, 0, buffer.length); if (rsz &lt; 0) break; out.append(buffer, 0, rsz); } } finally { in.close(); } } catch (UnsupportedEncodingException ex) { /* ... */ } catch (IOException ex) { /* ... */ } return out.toString(); } /** * @param args */ public static void main(String[] args) { //Replace DEMO_USERNAME with username of your account String username = "********"; //Replace DEMO_PASSWORD with password of your account String password = "****"; //Replace TARGET_MOBILE with a valid mobile number String toMobile = "****"; String toMessage = "Hello"; Mobiletry2 sMS = new Mobiletry2(username, password); try{ if(sMS .isLoggedIn() &amp;&amp; sMS .sendSMS(toMobile,toMessage)) { sMS.logoutSMS(); System.out.println("Message was sent successfully " ); } } catch(IOException e) { System.out.println("Unable to send message, possible cause: " + e.getMessage()); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload