【问题标题】:How to GSM Encode using RestTemplate如何使用 RestTemplate 进行 GSM 编码
【发布时间】:2018-02-23 00:41:31
【问题描述】:

我在为基于 SMS 的产品编码“#”字符时遇到问题。 SMS 使用 GET 请求发送到 SMS Gateway 提供商提供的 API。我需要发送一条简单的消息“Dial #121#”,但手机上收到的 SMS 没有显示“#”字符。

应用程序基于 Spring Boot 构建,我正在使用 RestTemplate 发出请求

RestTemplate restTemplate = new RestTemplate();
String message = "Dial #121#"; //example message
String baseUri = "http://api.example.com?msisdn=1234567&message=" + message;
ResponseEntity<String> response = restTemplate.getForEntity(baseUri, String.class);

电话输出:拨号

预期输出:拨#121#

请帮忙。

【问题讨论】:

    标签: java spring-boot resttemplate gsm


    【解决方案1】:

    我认为你首先对你的 URL 进行编码:

    RestTemplate restTemplate = new RestTemplate();
    String message = "Dial #121#"; //example message
    String baseUri = "http://api.example.com?msisdn=1234567&message={message}";
    URI expanded = new UriTemplate(baseUri ).expand(message);
    baseUri = URLDecoder.decode(expanded.toString(), "UTF-8");
    ResponseEntity<String> response = restTemplate.getForEntity(baseUri, String.class);
    

    【讨论】:

    【解决方案2】:

    问题已通过使用 org.apache.httpcomponents:httpclient http clinet 而不是 Sprint Rest 模板解决

    【讨论】:

      猜你喜欢
      • 2015-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多