У меня есть функция добавления файлов в js-ipfs
через URL.
async function addFile(url) {
try {
for await (const file of node.add(urlSource(url))) {
console.log('Hash for ' + url.substring(url.lastIndexOf('/') + 1));
}
}
catch(e) {
console.error('Problem downloading: ' + e.toString());
}
}
Некоторые URL-адреса, которые я передаю в работе, работают отлично, в то время как другие передают файл только определенным пользовательским агентам. Есть ли способ указать пользовательский агент пользователя "Wget/
" в запросах HTTP GET, выполняемых IPFS urlSource
?
Редактировать : после поиска источника js-ipfs
немного, похоже, что он использует node-fetch
для выполнения запроса. Я попытался изменить строку на:
for await (const file of node.add(urlSource(url, {"headers": ["User-Agent", "Wget/"]}))) {
и
for await (const file of node.add(urlSource(url, {"headers": {"User-Agent": "Wget/"}}))) {
исходя из node-fetch
документов , но без кубиков. Webhook.site по-прежнему показывает мои запросы с пользовательским агентом node-fetch/1.0 (+https://github.com/bitinn/node-fetch)
.