Sms

14 respostas
guariba

Alguém ai sabe como podemos enviar uma SMS através de um aplicativo Java? Como todas as operadoras de telefonia possuem sites onde podemos mandar as benditas eu pensei em enviar um http POST diretamente para o site. Existe solução melhor???

14 Respostas

Bani

Existe um projeto brasileiro sobre envio de SMS no seguinte endereço:
http://smssender.codigolivre.org.br/

D

Pô cara… por uma bobeda minha postei um link sobre isso lá no java básico… dê uma olhada…

Um abraço!!!

guariba

OK, muito obrigado! Eu já consegui! :smiley:

F

Manda o codigo do sms para dar uma olhada.

Valeo[/code]

guariba

Olha, meu código é um pouco velhinho, acho que tem uma forma mais moderna de se fazer isso, inclusive acho que já foi citado no fórum. Dá uma pesquisada e se mesmo assim ainda quiser o exemplo eu posto sem problemas. Até porque o código deve estar perdido em algum obscuro servidor nos porões da empresa… :slight_smile:

F

Eu já dei uma olhada mais não encontrei nada.

caso vc ache o código na obscuridão do seu servidores :lol: vc poderia mandar para

[email removido]

Abraço

mcampelo

Para enviar um SMS, você precisa conectar à SMSC de uma operadora. Com certeza isso não estará aberto, a não ser que os caras sejam loucos.

Então o caminho é fazer um POST HTTP, mas para evitar SPAM as operadoras estão começando a bloquear isso também.

O que sei que existe em alguns casos, são parcerias entre determinadas empresas e as operadoras. Assim, a operadora libera uma URL para que a empresa faça seu POST HTTP e envie o SMS.

javeloper

Como fazer o post ( eu tenho acesso a enviar )?

mcampelo

Dê uma olhada na classe java.net.URLConnection.

Você precisa saber qual a URL da operadora e quais parâmetros devem ser enviados.

L

Aqui no GUJ teve uma notícia sobre isso…

http://www.guj.com.br/servlet/guj?PARSE=true&MAMUTE_ACTION=br.com.guj.action.ListStory&MAMUTE_TEMPLATE=ShowStory&LIST_STORY=single&StoryId=200&PAGE=1

[]'s

guariba

Esse exemplo é para a operadora ATL do Rio de Janeiro: www.atl.com.br

public boolean enviaAtl(String ddd, double telefone, String emissor_nome,
                         String emissor_ddd, double emissor_telefone, 
                         String mensagem){

  DecimalFormat df = new DecimalFormat("########");
  boolean       st = false;

  try{
    // Constroi os dados
    String msg = URLEncoder.encode("pre1"       , "UTF-8") + "=" + URLEncoder.encode(ddd                        , "UTF-8") + "&" +
                 URLEncoder.encode("min_usr"    , "UTF-8") + "=" + URLEncoder.encode(df.format(telefone)        , "UTF-8") + "&" +
                 URLEncoder.encode("min_de"     , "UTF-8") + "=" + URLEncoder.encode(emissor_nome               , "UTF-8") + "&" +
                 URLEncoder.encode("min_ddd"    , "UTF-8") + "=" + URLEncoder.encode(emissor_ddd                , "UTF-8") + "&" +
                 URLEncoder.encode("min_dddfone", "UTF-8") + "=" + URLEncoder.encode(df.format(emissor_telefone), "UTF-8") + "&" +
                 URLEncoder.encode("msg"        , "UTF-8") + "=" + URLEncoder.encode(mensagem                   , "UTF-8");

    // Envia
    URL url = new URL("http://www.atlnetmensagem.com.br/submittorpedo.asp");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(msg);
    wr.flush();

    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    for(int ix=0; (line = rd.readLine())!= null; ++ix){
       if(ix==5 && line.equals("<img src=/images_site/retorno_torpedo/sucesso.gif>"))
         st = true;
//     System.out.println(line);
       }

    wr.close();
    rd.close();
  } catch(Exception e){
         System.out.println(e.getMessage());
         return false;
         }

  return st;
 }
cv1

Acho que dava pra fazer isso mais facil usando o Commons HTTP Client, nao? :slight_smile:

javeloper

aaháaa como sempre, vc matou a charada CV!!! usando http client era disso que eu precisava… simular um browser (cliente http)! assim posso me autenticar na página de msgs!!! Vou lá dar uma “fuçada”!
valeus!!

guariba

Eu avisei que era um código furreca… 8)

Criado 10 de janeiro de 2003
Ultima resposta 6 de ago. de 2003
Respostas 14
Participantes 8