Получение статуса 403 только при извлечении из API

#reactjs #fetch-api

Вопрос:

Я создал новый API и пытаюсь получить некоторую информацию о романах.

Поэтому я пытаюсь отправить какой-нибудь запрос, чтобы https://www.novelupdates.com/wp-admin/admin-ajax.php этот запрос отлично работал в мобильном приложении для Android. Но я продолжаю получать 403 , когда создаю API.

Это мой код, который отлично работал в мобильном приложении, но не в API при использовании node-fetch

 public async search(name: string) {
  try {
    var html = await HttpClient.postForm("https://www.novelupdates.com/wp-admin/admin-ajax.php", {
      action: "nd_ajaxsearchmain",
      strType: "desktop",
      strOne: name,
      strSearchType: "series"
    });
    var container = HttpClient.parseHtml(html).querySelectorAll("a");
    return container.find(x => name.trim().length == (x.querySelector(".search_hl") ? ? x.querySelector("span")).innerHTML.htmlText(false).trim().length amp;amp; (name.toLowerCase().indexOf((x.querySelector(".search_hl") ? ? x.querySelector("span")).innerHTML.htmlText().toLowerCase()) != -1)) ? .getAttribute("href") ? .uri(this.root);
  } catch (error) {
    console.log(error)
    return undefined;
  }
}


static async postForm(url: string, item: any) {
  const formData = new FormData();
  try {
    console.log(`Sending postForm to ${url}`);
    Object.keys(item).forEach((x) => {
      formData.append(x, item[x]);
    });

    var data = await httpClient.fetchWithTimeout(url, httpClient.staticOption({
      method: 'POST',
      body: formData,
      headers: formData.getHeaders()
    }));

    if (!data.ok) {
      const message = `postForm:An error has occured:${data.status}`;
      // console.log(header);
      console.log(message);
    } else {
      console.log('Data is ok. proceed to parse it');
      var text = await data.text();
      try {
        return text amp;amp; text.indexOf(':') != -1 amp;amp; text.indexOf('{') != -1 amp;amp; text.indexOf('}') != -1 ? JSON.parse(text) : text;
      } catch (e) {
        return text;
      }
    }

    return undefined;
  } catch (e) {
    console.log(e);
    console.log(formData);
  }
}