簡體   English   中英

JS 使用重定向獲取 URL

[英]JS Fetch URL with redirection

我有一個鏈接 A 重定向到鏈接 B,該鏈接 B 是一個 PHP 端點,用於下載文本文件。 我正在運行以下代碼,並且之前可以正常工作:

const file = await fetch(linkA).then(res => res.text())

但最近,鏈接 A 的服務器停止將我重定向到鏈接 B,給出 CORS 錯誤。 但是如果我復制鏈接 A 並將其粘貼到地址欄上,瀏覽器將被重定向到鏈接 B 並立即開始下載文件。 如果我只是在代碼中直接將linkB linkA我可以下載它而不會出現任何CORS錯誤,但在應用程序中,我將只有Link A。

所以我的問題是:我可以在獲取鏈接 B 之前以編程方式獲取它嗎?

我想分享這些鏈接,但不幸的是,它們是私人的。

編輯

只是為了提供更多信息。 鏈接 A 就像一個身份驗證端點,我需要將用戶名和密碼作為查詢參數傳遞。 因此,服務器對其進行身份驗證並將我重定向到另一個端點(我相信它是一個臨時鏈接),其中包含我想要下載的文件,我可以在fetch方法中使用它而不會出現 cors 錯誤。

編輯 2

如果我來自同一個來源,鏈接 A 的服務器似乎只會重定向我,所以我認為可能的是創建一種無聲 window 導航到鏈接 A window.location.href並在它被重定向之后,我需要阻止文件不自動下載,獲取鏈接 B 並在應用程序中獲取它......但我不知道該怎么做。

這是因為 linkA 服務器可能已限制它只能訪問同一來源。

而且,如果您使用的是瀏覽器,它會起作用,因為您直接點擊 URL 這在技術上是相同的來源,但是當您使用 ajax 調用時,您是從一些不同的來源調用它。

如果您還想認真使用它,那么您可以在任何地方使用cors。 -> https://www.npmjs.com/package/cors-anywhere

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM