Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的Mailgun电子邮件验证API_Javascript_Node.js_Curl - Fatal编程技术网

Javascript Node.js中的Mailgun电子邮件验证API

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

我试图在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脚本

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))
})