首页 > 解决方案 > 在正文中发送 Unicode(Bangla) 字符时,Node.js Http 请求返回 400 错误

问题描述

向正文中带有 Unicode 字符的 Infobip SMS APi 发送 Http 请求时遇到问题。我尝试使用axiosandrequest模块,但两者都不适用于 unicode 值,但它适用于普通英文字符。这是代码

var express = require('express');
var request = require('request');
var app = express();

var url = 'http://api.infobip.com/sms/2/text/single'
var options = {
    method: 'post',
    data: {
      'from': 'ME',
      'to': '(555) 555-1234',
      'text': 'ওহে বিশ্ব',
    },
    headers: {
      'authorization': 'Basic AUTH_KEY',
      'content-type': 'application/json',
      'accept': 'application/json'
    },
    url: url
}
request(options, function (err, res, body) {
  if (err) {
    console.log('Error', err);

  }
  console.log(res, body);

})

标签: node.jshttpaxiossmsinfobip-api

解决方案


你可以通过axios查看

var express = require('express');
var app = express();

var axios = require("axios");

const config = 
    { 
     headers: 
         {   
         'authorization': 'Basic AUTH_ID',
         'content-type': 'application/json;charset=UTF-8',
         'accept': 'application/json' 
         } 
    };

 axios.post('http://api.infobip.com/sms/2/text/single',

     {
      'from': 'ME',
      'to': '+8801XXXXXX',
      'text': 'ওহে বিশ্ব',    
     },
     config,
 )
.then(function(response) {
     console.log(response.data)
 })
.catch(function(error) {
     console.log(error)
 })

推荐阅读