【问题标题】:Mailgun Email validation API in Node.jsNode.js 中的 Mailgun 电子邮件验证 API
【发布时间】:2013-08-08 00:41:04
【问题描述】:

我正在尝试在节点中输入一个 curl 命令,我必须使用 Mailgun API 进行电子邮件验证,但是当我发出请求时,API 永远不会像 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}'

【问题讨论】:

    标签: javascript node.js curl


    【解决方案1】:

    https://github.com/mikeal/request#requestoptions-callback

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 2020-08-07
      • 2014-10-07
      相关资源
      最近更新 更多