亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取標頭請求 Javascript:cURL 工作,禁止獲取

獲取標頭請求 Javascript:cURL 工作,禁止獲取

紅糖糍粑 2023-04-27 10:53:26
我想在 React App 中獲取請求此鏈接https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8的標題 。在做一個簡單的請求時 request('https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8', function (error, response, body) {    console.error('error:', error);     console.log('body:', body);        });我得到Access to fetch at 'https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.使用 cors-anywhere 代理時 request('https://cors-anywhere.herokuapp.com/https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8', function (error, response, body) {    console.error('error:', error);     console.log('body:', body);     });我得到request.js:150 GET https://cors-anywhere.herokuapp.com/https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8 403 (Forbidden)但是當我只是卷曲時,我得到了正確的回應curl -s -o /dev/null -D -  https://soundcloud.app.goo.gl/u6XXuqp3Q7Q7WXgH8 任何人都可以向我解釋這種行為,并告訴我如何克服這個問題嗎?謝謝!
查看完整描述

2 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

當您嘗試直接從瀏覽器調用 API 并且該 API 不允許任何其他網站獲取數據時,通常會出現 CORS 錯誤。

到目前為止,我可以想到這個問題有 2 種解決方法 -

  1. 您可以從后端代碼調用該 API,然后在后端收集從網站接收的數據,然后在客戶端傳輸數據?;旧希鷮b原始 API。

  2. 您可以使用 NGINX 之類的 Web 服務器,并在指向外部 API 的域上配置特定路徑,并在您的項目中配置其他路徑。這將有助于在同一域名上制作外部 API 和您的 React 代碼。

您的主要目標是讓該外部 API 與您的反應代碼一起通過您的域工作。


查看完整回答
反對 回復 2023-04-27
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

在瀏覽器上下文 JS 中,例如在對 API 的獲取調用中,CORS 適用。與 CURL 請求不同,您實際上是在運行服務器端上下文,因此 CORS 不適用。這就是為什么您可以從服務器上下文或 node.js 上下文訪問 instagrams 非官方 api,但不能從瀏覽器中的同一個 fetch 調用訪問??赡艿慕鉀Q方案:

  1. 服務器設置的 Allow-Content-Orgin 標頭必須包含您的頁面所在的域。

  2. 將 Eletron 或 NodeWebkit.js 用于使用瀏覽器 (chromium) 運行客戶端的可視化應用程序以在其中啟動您的應用程序(瀏覽器和服務器上下文的混合,CORS 不適用)

  3. 運行 node.js 應用程序(無瀏覽器、服務器上下文)并從終端運行您的應用程序。(CORS 不適用)


查看完整回答
反對 回復 2023-04-27
  • 2 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號