我有一个成功工作的curl代码块。
curl -v -X POST "https://someapihost"
-d "image_url=someimage.jpg"
-H "Authorization: form1 key2"
还有一个python代码块,其工作原理完全相同。
import requests
headers = {
'Authorization': 'form1 key2',
}
data = {
'image_url': 'someimage.jpg'
}
response = requests.post('https://someapihost/', headers=headers, data=data)
但我需要工作相同的Node.js代码块,所以我需要翻译这些代码块。
这是我的翻译。(我曾经https://curl.trillworks.com/#node)
var request = require('request');
var headers = {
'Authorization': 'form1 key2'
};
var dataString = 'image_url=someimage.jpg';
var options = {
url: 'https://someapihost',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
但是respose.statusCode返回400,所以它不起作用。我想知道为什么会出现这种错误如何修改此代码。(当然,我通过"npm安装请求"进行安装请求(
我很感激你读到这个问题。感谢
这取决于您正在进行的api调用,但如果它需要json作为输入,我希望以下内容能起作用。
var request = require('request');
var headers = {
'Authorization': 'form1 key2'
};
var data = {
image_url: 'someimage.jpg'
}
var options = {
url: 'https://someapihost',
method: 'POST',
headers: headers,
body: data,
json: true
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);