Prefácio
Recentemente, tenho trabalhado em um sistema de gerenciamento de medidores de água inteligente remoto. Há uma função desse processo que pode ser registrado usando telefones celulares na página de registro. Estou procurando há muito tempo antes de entender aproximadamente o processo de implementação do código de verificação de telefones celulares. Vou compartilhar com você hoje. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada juntos.
Processo de implementação do código de verificação de SMS
1. Construa o código de verificação do telefone celular: use o número aleatório exigido pelo objeto aleatório para gerar como o código de verificação, como código de verificação de 4 bits: um número aleatório entre 1000 e 9999;
2. Use a interface para enviar os dados do número de telefone celular e do código de verificação para a plataforma SMS e, em seguida, a plataforma SMS envia o código de verificação para o número de telefone celular formulado. Os parâmetros da interface geralmente incluem: número do telefone celular de destino, código de verificação aleatória (ou incluindo tempo de validade), endereço da interface da plataforma e senha da plataforma;
3. Salvar as informações retornadas pela interface (geralmente os dados de texto JSON e, em seguida, precisam ser convertidos no formato de objeto JSON);
4. Armazene o código de verificação do número de telefone celular e o tempo de operação na sessão para verificação posterior;
5. Receber códigos de verificação e outros dados preenchidos pelo usuário;
6. Compare se o código de verificação enviado é consistente com o código de verificação na sessão e determine se a ação de envio está dentro do período de validade;
7. O código de verificação está correto e dentro do período de validade, a solicitação é passada para processar o negócio correspondente.
Hoje vamos implementar as 4 primeiras etapas:
Para simplificar o processo, usamos o código de verificação do telefone celular fixo em vez de números gerados aleatoriamente como código de verificação
Aqui temos uma página front-end e uma página de processamento lógico de back-end. A seguir, dois itens para explicar brevemente:
Página front-end
<Body> <h1> <% send send = new send (); String postData = "Conta = Jamesxt & Senha = 18770918982lkx & Mobile = 18770918982 & Content ="+java.net.urlencoder.encode ("Seu código do pedido: 4557. Se precisar de ajuda, entre em contato com o atendimento ao cliente." "Utf-8"); //out.println(postData); String ret = send.sms (PostData, "http://sms.106jiekou.com/utf8/sms.aspx"); out.println (ret); // Deserrialize a string devolvida e implemente sua própria lógica %> </h1> </body>PostData: são os dados pendentes que você deseja enviar para a plataforma de serviço SMS. Geralmente, ele inclui o nome da conta do usuário e a senha do registrante da plataforma de serviço SMS, bem como o conteúdo completo de quem você deseja enviar o código de verificação do SMS e as informações às quais o código de verificação do SMS pertence.
String ret = send.sms (PostData, http://sms.106jiekou.com/utf8/sms.aspx);
Isso deve vincular os dados ao site da plataforma de serviço SMS, ou seja, qual plataforma entregar os dados enviados para o processamento.
Classe de processamento lógico de fundo:
classe pública Enviar {// Existem dois parâmetros no método SMS. Este parâmetro é determinado pelo PostData enviado pela página de primeiro plano e pelo endereço de serviço SMS ligado ao primeiro. Public static string sms (string postData, string posturl) {try {// Enviar URL da solicitação de postagem = novo URL (posturl); HttpurlConnection Conn = (httpurlConnection) url.openconnection (); Conn.SetRequestMethod ("post"); Conn.SetRequestProperty ("Content-Type", "Application/X-Www-Form-Urlencoded"); Conn.SetRequestProperty ("Connection", "Keep-Alive"); Conn.SetUseCaches (false); Conn.SetDoOutput (true); Conn.SetRequestProperty ("Length-comprimento", "" + PostData.Length ()); OutputStreamWriter out = new OutputStreamWriter (Conn.GetOutputStream (), "UTF-8"); // Coloque os dados enviados pelo primeiro plano no fluxo de saída, ou seja, envie a solicitação de serviço para a plataforma de serviço SMS para fora.WRITE (PostData); out.flush (); out.Close (); // Obtenha o código de status da resposta se (Conn.GetRESPONSecode ()! = Httpurlconnection.http_ok) {System.out.println ("Connect Faily!"); retornar ""; } // Obtenha a linha String de conteúdo de resposta, resultado = ""; BufferredReader in = new BufferredReader (new InputStreamReader (Conn.getInputStream (), "UTF-8")); while ((line = in.readline ())! = null) {resultado + = linha + "/n"; } in.close (); resultado de retorno; } catch (ioexception e) {e.printStackTrace (System.out); } retornar ""; }} Finalmente, o endereço do código -fonte da demonstração está anexado: http://xiazai.vevb.com/201712/yuanma/mobileregist(vevb.com).rar
O endereço do provedor de serviços SMS usado nesta demonstração é: http://www.106jiekou.com/login/?returnurl=/member/trigger/templates/
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.