Javascript Node.js中的Mailgun电子邮件验证API
我试图在node中输入curl命令,我必须使用Mailgun API进行电子邮件验证,但当我发出请求时,API从未像curl那样识别“地址”字段 以下是脚本和结果: Curl命令Javascript Node.js中的Mailgun电子邮件验证API,javascript,node.js,curl,Javascript,Node.js,Curl,我试图在node中输入curl命令,我必须使用Mailgun API进行电子邮件验证,但当我发出请求时,API从未像curl那样识别“地址”字段 以下是脚本和结果: Curl命令 curl -s --user api:pubkey-5ogiflzbnjrljiky49qxsiozqef5jxp7 -G \ https://api.mailgun.net/v2/address/validate \ -d address='john.smith@gmail.com' Node.js
curl -s --user api:pubkey-5ogiflzbnjrljiky49qxsiozqef5jxp7 -G \
https://api.mailgun.net/v2/address/validate \
-d address='john.smith@gmail.com'
Node.js脚本
var request = require('request')
, inspect = require('util').inspect
var options = {
url: 'https://api.mailgun.net/v2/address/validate'
, method: 'GET'
, encoding: 'ASCII'
// , body: "address=john.smith@gmail.com"
, form: { address: "john.smith@gmail.com" }
, auth: {
username: "api"
, password: "pubkey-5ogiflzbnjrljiky49qxsiozqef5jxp7"
}
}
request(options, function (err, result){
if(err){ console.log(err) }
console.log(inspect(result.request.body.toString('utf8')))
console.log(inspect(result.request.response.body))
})
预期产量
{
"is_valid": true,
"parts": {
"local_part": "johnsmith",
"domain": "gmail.com",
"display_name": null
},
"address": "john.smith@gmail.com",
"did_you_mean": null
}
我得到的输出
'address=john.smith%40gmail.com'
'{\n "message": "Missing parameter: address"\n}'
看
form参数设置请求的主体,但是对于GET请求,您希望在查询字符串上传递参数。对于GET请求,请使用qs
参数而不是form
:
var request = require('request')
, inspect = require('util').inspect
var options = {
url: 'https://api.mailgun.net/v2/address/validate'
, method: 'GET'
, qs: {address: 'john.smith@gmail.com'}
, encoding: 'ASCII'
, auth: {
username: "api"
, password: "pubkey-5ogiflzbnjrljiky49qxsiozqef5jxp7"
}
}
request(options, function (err, result){
if(err){ console.log(err) }
console.log(inspect(result.request.response.body))
})