我有一个链接a重定向到链接B,这是一个PHP端点下载文本文件。我正在运行以下代码,它之前是工作的:
const file = await fetch(linkA).then(res => res.text())
但是最近,链接A的服务器停止重定向到链接B给CORS错误。但是如果我复制链接A并粘贴到地址栏上,浏览器将被重定向到链接B,并立即开始下载文件。如果我直接在代码中将linkA
更改为linkB
,我可以下载它而没有任何CORS错误,但在应用程序中,我将只有链接a。
我的问题是:我可以在获取链接B之前以编程方式获取吗?
我想分享这些链接,但不幸的是它们是私人的。
编辑
只是为了提供更多信息。链接A就像一个身份验证端点,我需要传递用户名和密码作为查询参数。因此,服务器对其进行身份验证并将我重定向到另一个端点(我相信这是一个临时链接),其中包含我想要下载的文件,我可以在fetch
方法中使用,而不会出现cors错误。
编辑2
似乎链接A的服务器只重定向我,如果我来自同一来源,所以我认为可能的是创建一种静默窗口,导航到链接Awindow.location.href
,并在它被重定向后,我需要阻止文件不被自动下载,获得链接B并在应用程序中获取它…但是我不知道怎么做。
这是由于linkA服务器可能限制了它对同一源的访问。
并且,如果你使用using浏览器,它会工作,因为你直接点击URL,这在技术上是相同的来源,但当你使用ajax调用你调用它从一些不同的来源。
如果你仍然想认真使用它,那么你可以在任何地方使用cors。→https://www.npmjs.com/package/cors-anywhere