我正在尝试使用我的 Java 代码中的 HttpEntity 通过 Twilio 发送 SMS。我收到 400 错误请求,没有详细信息。响应如下。
[<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>openresty</center>
</body>
</html>]
下面是我用来发送请求的代码。来自 Postman 的请求成功。我不能使用 Java SDK,必须使用 RestTemplate。
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.add("route-to-back-end-endpoint", "https://api.twilio.com/2010-04-01/Accounts/xxx/Messages.json");
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
map.add("To", "+91*******");
map.add("From", "+1******");
map.add("Body", "Try try try");
HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(map, headers);
String response = null;
try {
restTemplateSsl.getInterceptors().add(new BasicAuthenticationInterceptor("xxx", "yyy"));
response = restTemplateSsl.postForObject("Internal Xml Gateway Link", entity, String.class);
} catch (Exception e) {
e.printStackTrace();
log.error("Exception : {} ", e.getMessage());
}
log.info("Response Received :{}", response);
return response;
使用 Twilio 验证成功。所以没有身份验证问题。我不确定请求到底有什么问题。