Как я могу преобразовать мой запрос curl cURL в node js?
Мне нужно создать api в узле js, я создаю его в curl, как я могу преобразовать запрос cURL в узел js. как я могу передать URL-адрес, заголовок и двоичные данные в node js? Следующим шагом является запрос cURL?
curl -v "https://us-extract.api.smartystreets.com/?auth-id=AUTH_ID&auth-token=AUTH_TOKEN" -H "content-type: application/json" --data-binary ""
1 ответ
Решение
Для этого есть несколько очень удобных инструментов, посмотрите https://curl.trillworks.com/, он преобразует запросы curl в код на Node.js, Python, Go и т. Д.
Я немного изменил ваш запрос на завиток:
curl -v -X POST "https://us-extract.api.smartystreets.com/?auth-id=AUTH_ID&auth-token=AUTH_TOKEN" -H "content-type: application/json" --data-binary "1600 Amphitheatre Parkway,Mountain View, CA 94043"
(Обратите внимание, я отредактировал ваши auth-id и auth-token, мы не разрешаем другим использовать их..:-))
В вашем примере результат будет таким, как показано ниже, обратите внимание, что здесь используется библиотека запросов. Вам нужно будет сделать запрос на установку npm, чтобы добавить это в свой проект.
var request = require('request');
// Put your auth id and token here.
const AUTH_ID = "";
const AUTH_TOKEN = "";
var headers = {
'content-type': 'application/json'
};
var dataString = '1600 Amphitheatre Parkway,Mountain View, CA 94043';
var options = {
url: 'https://us-extract.api.smartystreets.com/?auth-id=' + AUTH_ID + '&auth-token=' + AUTH_TOKEN,
method: 'POST',
headers: headers,
body: dataString,
json: true // Set this to parse the response to an object.
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
// Log the API output.
(body.addresses || []).forEach((element, index) => {
console.log(`api_output (address #${index+1}):`, element.api_output);
});
}
}
request(options, callback);