zoukankan      html  css  js  c++  java
  • 短信接口

    @Component
    public class SMSConnectorImpl implements SMSConnector {
        final static Logger logger = LoggerFactory
                .getLogger(SMSConnectorImpl.class);

        RestTemplate restTemplate;

        @Value("${sms.url}")
        private String smsUrl;

        @Value("${sms.accountid}")
        private String smsAccountid;

        @Value("${sms.password}")
        private String smsPassword;

        @Value("${sms.code}")
        private String smsCode;

        private String message;

        public SMSConnectorImpl() {
            restTemplate = new RestTemplate();
            setConfig();
        }

        public boolean sendVerifyCode(String phone, String verifyCode) {
            boolean result = false;
            this.message = "account=" + smsAccountid + "&pwd=" + smsPassword
                    + "&product=" + smsCode + "&mobile=$phone"
                    + "&message=邻食验证码:$verifycode" + ",请在5分钟内按页面提示完成验证码校验【邻食】";
            String sendMessage = message.replace("$phone", phone).replace(
                    "$verifycode", verifyCode);

            logger.info(sendMessage);

            Map<String, Object> urlVariables = new HashMap<String, Object>();
            String response = restTemplate.postForObject(smsUrl, sendMessage,
                    String.class, urlVariables);

            logger.info(response);

            if (response != null && response.contains("200,"))
                return true;

            return result;
        }

        private void setConfig() {
            ClientHttpRequestInterceptor acceptHeader = new AcceptHeaderHttpRequestInterceptor();
            List<ClientHttpRequestInterceptor> list = new ArrayList<ClientHttpRequestInterceptor>();
            list.add(acceptHeader);
            restTemplate.setInterceptors(list);
            StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(
                    Charset.forName("GBK"));
            restTemplate.getMessageConverters().set(1, stringHttpMessageConverter);
        }

        class AcceptHeaderHttpRequestInterceptor implements
                ClientHttpRequestInterceptor {
            @Override
            public ClientHttpResponse intercept(HttpRequest request, byte[] body,
                    ClientHttpRequestExecution execution) throws IOException {
                HttpRequestWrapper requestWrapper = new HttpRequestWrapper(request);
                // List<MediaType> list = new ArrayList<MediaType>();
                requestWrapper.getHeaders().setContentType(
                        MediaType.APPLICATION_FORM_URLENCODED);
                requestWrapper.getHeaders().set("Accept-Charset", "utf-8");
                return execution.execute(requestWrapper, body);
            }
        }

  • 相关阅读:
    在IIS上搭建WebSocket服务器(三)
    在IIS上搭建WebSocket服务器(二)
    在IIS上搭建WebSocket服务器(一)
    RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能
    C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
    c#用webkit内核支持html5
    .NET下WebBrowser的一个BUG以及其替代品——geckofx
    HTML5浏览器嵌入窗口程序解决方案
    saprk里面的action
    解释为什么word2vec也被称作deep learning
  • 原文地址:https://www.cnblogs.com/yousen/p/4627266.html
Copyright © 2011-2022 走看看