Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author: Manish Raj
- // Homepage: http://www.technoslab.in
- // Contact: technoslab[@gmail.com]
- public class application extends javax.swing.JFrame {
- public application() {
- initComponents();
- }
- public boolean send(String username, String password, String number, String message) {
- statusField.setText("Status: Attempting login...");
- String loginResult = sendPost("http://site1.way2sms.com/Login1.action", "http://site1.way2sms.com/content/index.html", "username=" + username + "&password=" + password, "");
- if (loginResult.indexOf("Main.action") > 0) {
- statusField.setText("Status: Logged in");
- String url = inbetween(loginResult, "Location: ", "\r\n");
- String cookie = inbetween(loginResult, "Set-Cookie: ", "\r\n");
- String instantResult = sendPost("http://site1.way2sms.com/jsp/InstantSMS.jsp", "", "", cookie);
- statusField.setText("Status: Retrieving instantSMS form...");
- String action = inbetween(instantResult, "<input type=\"hidden\" name=\"Action\" id=\"Action\" value=\"", "\"");
- if (url.equals("") || cookie.equals("") || action.equals("")) {
- return false;
- } else {
- String sendResult = sendPost("http://site1.way2sms.com/quicksms.action", "http://site1.way2sms.com/jsp/InstantSMS.jsp", "action=" + action + "&HiddenAction=instantsms&catnamedis=Birthday&login=&pass=&MobNo=" + number + "&textArea=" + message, cookie);
- if (sendResult.indexOf("submitted successfully") > 0) {
- statusField.setText("Status: Sending message...");
- return true;
- } else {
- return false;
- }
- }
- } else {
- return false;
- }
- }
- public String inbetween(String str, String start, String end) {
- String ret = "";
- try {
- ret = str.substring(str.indexOf(start) + start.length(),
- str.indexOf(end, str.indexOf(start) + start.length()));
- } catch (Exception e) {
- }
- return ret;
- }
- public String sendPost(String link, String ref, String post, String cookie) {
- StringBuilder sb = new StringBuilder("");
- try {
- java.net.URL url = new java.net.URL(link);
- String nl = "\r\n";
- String request = ""
- + "POST " + url.getPath() + " HTTP/1.1" + nl
- + "Host: " + url.getHost() + nl
- + "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" + nl
- + "Cache-Control: max-age=0" + nl
- + "Connection: Close" + nl
- + "Keep-Alive: 300" + nl
- + "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" + nl
- + "Accept-Language: en-us,en;q=0.5" + nl
- + "Referer: " + ref + nl
- + "Content-Type: application/x-www-form-urlencoded" + nl
- + "Content-Length: " + post.length() + nl
- + "Cookie: " + cookie + nl
- + "User-Agent: Mozilla/5.0 (Windows;U;Windows NT 5.0;en-US;rv:1.4) Gecko/20030624 Netscape/7.1 (ax)" + nl + nl
- + post;
- //System.out.println(request);
- java.net.Socket remoteConnection = new java.net.Socket(url.getHost(), 80);
- java.io.OutputStream remoteOutputStream = remoteConnection.getOutputStream();
- java.io.InputStream remoteInputStream = remoteConnection.getInputStream();
- remoteOutputStream.write(request.getBytes());
- remoteOutputStream.flush();
- int inputChar = -1;
- while ((inputChar = remoteInputStream.read()) != -1) {
- sb.append((char) inputChar);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return sb.toString();
- }
- @SuppressWarnings("unchecked")
- private void initComponents() {
- usernameField = new javax.swing.JTextField();
- numberField = new javax.swing.JTextField();
- jScrollPane1 = new javax.swing.JScrollPane();
- messageBox = new javax.swing.JTextArea();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- sendButton = new javax.swing.JButton();
- lengthField = new javax.swing.JTextField();
- jLabel3 = new javax.swing.JLabel();
- registerLink = new javax.swing.JLabel();
- passwordField = new javax.swing.JPasswordField();
- statusField = new javax.swing.JLabel();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("Way2SMS desktop App by www.technoslab.in");
- setResizable(false);
- messageBox.setColumns(20);
- messageBox.setLineWrap(true);
- messageBox.setRows(5);
- messageBox.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyTyped(java.awt.event.KeyEvent evt) {
- messageBoxKeyTyped(evt);
- }
- });
- jScrollPane1.setViewportView(messageBox);
- jLabel1.setText("Username / Mobile number");
- jLabel2.setText("Password");
- sendButton.setText("Send");
- sendButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- sendButtonActionPerformed(evt);
- }
- });
- lengthField.setText(" 0");
- jLabel3.setText("+91");
- registerLink.setText("<html><a href=\"http://way2sms.com\">Don't have an account yet?</a>");
- registerLink.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
- registerLink.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- registerLinkMouseClicked(evt);
- }
- });
- statusField.setText("Status: IDLE...");
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(8, 8, 8)
- .addComponent(jLabel3)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(numberField, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE)
- .addGap(147, 147, 147)
- .addComponent(lengthField, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 359, Short.MAX_VALUE)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel1)
- .addComponent(jLabel2))
- .addGap(77, 77, 77)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(usernameField, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
- .addComponent(passwordField, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)))
- .addGroup(layout.createSequentialGroup()
- .addComponent(statusField, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(sendButton))))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(registerLink, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(12, 12, 12)
- .addComponent(jLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabel2))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(usernameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(23, 23, 23)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(numberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel3)
- .addComponent(lengthField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, 18)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(14, 14, 14)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(sendButton)
- .addComponent(statusField))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(registerLink, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- pack();
- }
- private void registerLinkMouseClicked(java.awt.event.MouseEvent evt) {
- try {
- java.awt.Desktop.getDesktop().browse(new java.net.URI("http://way2sms.com/"));
- } catch (Exception e) {
- }
- }
- private void messageBoxKeyTyped(java.awt.event.KeyEvent evt) {
- if (messageBox.getText().length() > 160) {
- messageBox.setText(messageBox.getText().substring(0, 160));
- }
- lengthField.setText(" " + messageBox.getText().length());
- }
- private void sendButtonActionPerformed(java.awt.event.ActionEvent evt) {
- char[] p = passwordField.getPassword();
- StringBuilder pw = new StringBuilder();
- for (int i = 0; i < p.length; i++) {
- pw.append(p[i]);
- }
- boolean result = send(usernameField.getText(), pw.toString(), numberField.getText(), messageBox.getText());
- if (result) {
- statusField.setText("Status: Message sent successfully...");
- } else {
- statusField.setText("Status: Sending failed...");
- }
- }
- public static void main(String args[]) {
- try {
- javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(application.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(application.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(application.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(application.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new application().setVisible(true);
- }
- });
- }
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTextField lengthField;
- private javax.swing.JTextArea messageBox;
- private javax.swing.JTextField numberField;
- private javax.swing.JPasswordField passwordField;
- private javax.swing.JLabel registerLink;
- private javax.swing.JButton sendButton;
- private javax.swing.JLabel statusField;
- private javax.swing.JTextField usernameField;
- }
Advertisement
Add Comment
Please, Sign In to add comment