Javascript 获取一个正常工作的http get请求(第三方api)并改用fetch,但签名不匹配
我试图接受一个正常工作的http get请求,并改用fetch,但在使用fetch时,返回了一个错误,即签名与第三方api不匹配 原件:Javascript 获取一个正常工作的http get请求(第三方api)并改用fetch,但签名不匹配,javascript,node.js,api,Javascript,Node.js,Api,我试图接受一个正常工作的http get请求,并改用fetch,但在使用fetch时,返回了一个错误,即签名与第三方api不匹配 原件: var secret = 'HIDDEN' var id = 'HIDDEN' const params = 'action=results&zip=' + zip + '&miles=' + mile var timestamp = moment.utc().format("ddd, D MMM YYYY HH:mm:00 [GMT]");
var secret = 'HIDDEN'
var id = 'HIDDEN'
const params = 'action=results&zip=' + zip + '&miles=' + mile
var timestamp = moment.utc().format("ddd, D MMM YYYY HH:mm:00 [GMT]");
var signature = timestamp + secret + params + id
var sha = CryptoJS.algo.SHA256.create();
sha.update(signature);
var encrypt = sha.finalize();
return http.get({
host: 'www.vtinfo.com',
path: '/PF/product_finder-service.asp?' + params,
headers: {
'vipCustID': id,
'vipTimestamp': timestamp,
'vipSignature': encrypt
}
})
尝试使用获取:
const fetch = require('node-fetch');
var secret = 'HIDDEN'
var id = 'HIDDEN'
const params = 'action=results&zip=' + zip + '&miles=' + mile
var timestamp = moment.utc().format("ddd, D MMM YYYY HH:mm:00 [GMT]");
var signature = timestamp + secret + params + id
var sha = CryptoJS.algo.SHA256.create();
sha.update(signature);
var encrypt = sha.finalize();
return fetch('https://www.vtinfo.com/PF/product_finder-service.asp?' + params, {
method: 'GET',
headers: {
'vipCustID': id,
'vipTimestamp': timestamp,
'vipSignature': encrypt
}
})
我不太熟悉fetch的使用,但它是如何在我使用的平台上获得正确的输出。fetch是一种浏览器API。
如果要在节点中使用它,请尝试以下操作:
Fetch是一种浏览器API。
如果要在节点中使用它,请尝试以下操作:
node.js没有内置的
fetch
lib,如果您想使用它,可以使用
或者您也可以使用,这一个非常流行。node.js没有内置的
fetch
lib,如果您想使用它,可以使用
或者你也可以用,这个很流行。我使用请求承诺npm而不是fetch解决了我的问题我使用请求承诺npm而不是fetch解决了我的问题我使用节点fetch我使用节点fetch我使用节点fetch我使用节点fetch我使用请求承诺npm而不是fetch解决了我的问题我使用请求承诺npm而不是获取