我有一个成功运行的 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 install request”安装请求)
感谢您阅读这个问题。谢谢
这取决于您正在进行的 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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句