2013-08-06 2 views
0

Я пытаюсь добавить в узел команду curl. Я должен использовать API Mailgun для проверки электронной почты, но когда я делаю запрос, api никогда не распознает поле «адрес» как при скручивании.API проверки электронной почты Mailgun в Node.js

Вот сценарии и результаты:

Curl команда

curl -s --user api:pubkey-5ogiflzbnjrljiky49qxsiozqef5jxp7 -G \ 
    https://api.mailgun.net/v2/address/validate \ 
    -d address='[email protected]' 

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: "[email protected]" 
    , form: { address: "[email protected]" } 
    , 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": "[email protected]", 
    "did_you_mean": null 
} 

выход я получаю

'address=john.smith%40gmail.com' 
'{\n "message": "Missing parameter: address"\n}' 

ответ

1

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

Параметр формы задает тело запроса, но для запроса GET вы хотите передать параметры в строке запроса. Используйте параметр вместо formqs для запросов GET:

var request = require('request') 
    , inspect = require('util').inspect 

var options = { 
    url: 'https://api.mailgun.net/v2/address/validate' 
    , method: 'GET' 
    , qs: {address: '[email protected]'} 
    , 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)) 
}) 
+0

Спасибо Тревора :) –

+0

Спасибо за легко работоспособный код! –