Задать вопрос
@AnotherAnkor

Как заставить axios игнорировать ошибки сертификата?

Пытаюсь использовать код для confluence rest api, но получаю ошибку сертификата.
cause: Error: self-signed certificate in certificate chain
      at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)
      at TLSSocket.emit (node:events:513:28)
      at TLSSocket._finishInit (node:_tls_wrap:959:8)
      at ssl.onhandshakedone (node:_tls_wrap:743:12) {
    code: 'SELF_SIGNED_CERT_IN_CHAIN'

Я пробовал добавлять httpsAgent: new https.Agent({ rejectUnauthorized: false }), но это не помогло. В сети много разного, вроде set NODE_TLS_REJECT_UNAUTHORIZED=0, но это не помогает.
const axios = require('axios');
const fs = require('fs');
const path = require('path');

// Функция для загрузки изображений
async function uploadImages(directoryPath, parentPageId, apiKey) {
  try {
    // Получите список файлов в указанной директории
    const files = fs.readdirSync(directoryPath);

    for (const file of files) {
      const filePath = path.join(directoryPath, file);

      // Проверяем, является ли файл директорией
      if (fs.statSync(filePath).isDirectory()) {
        // Если файл является директорией, вызываем функцию рекурсивно для загрузки изображений из вложенных директорий
        await uploadImages(filePath, parentPageId, apiKey);
      } else {
        // Если файл является изображением, загружаем его на Confluence

        // Чтение содержимого файла
        const imageData = fs.readFileSync(filePath);

        // Загрузка файла на Confluence
        const response = await axios.post(
          `https://your-confluence-domain/wiki/rest/api/content/${parentPageId}/child/attachment`,
          imageData,
          {
            headers: {
              'X-Atlassian-Token': 'nocheck', // Игнорирование проверки сертификата
              'Content-Type': 'multipart/form-data',
              Authorization: `Bearer ${apiKey}`, // Аутентификация через ключ
            },
          }
        );

        if (response.status === 200) {
          console.log(`Изображение ${file} успешно загружено.`);
        } else {
          console.error(`Ошибка загрузки изображения ${file}.`);
        }
      }
    }
  } catch (error) {
    console.error(error);
  }
}

// Пример вызова функции для загрузки изображений из директории "images" с родительской страницей "12345" и ключом аутентификации "your-api-key"
uploadImages('path/to/images/directory', '12345', 'your-api-key');
  • Вопрос задан
  • 543 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы