NodeJS 应用程序如何使用 HTTP 请求从禁用的 CORS(跨域共享)服务器访问资源?

Posted

技术标签:

【中文标题】NodeJS 应用程序如何使用 HTTP 请求从禁用的 CORS(跨域共享)服务器访问资源?【英文标题】:How NodeJS app access resources from a disabled CORS(Cross Origin Sharing) Server using HTTP requests? 【发布时间】:2018-09-30 15:26:08 【问题描述】:

我知道服务器端需要启用 CORS,以便客户端可以通过编程方式访问服务器资源。否则客户端请求将导致blocked by CORS policy: No 'Access-Control-Allow-Origin'

我试图在客户端使用 2 种方式制作 Scraper,首先是 jQuery 和 NodeJS 应用程序(使用请求库)。注意:我要访问的网站已禁用他们的 CORS。

当我测试它时,反应是:

jQuery -> blocked by CORS policy: No 'Access-Control-Allow-Origin'

NodeJS 应用程序 -> Status OK 200 and I was able to scrape.

我想知道是不是因为 V8 引擎在 NodeJS 发送请求时充当了浏览器?

【问题讨论】:

因为 node.js 不是网络浏览器。了解其中的区别。 说 CORS 被禁用...被 CORS 拒绝... OP 你抽什么? 【参考方案1】:

CORS 只是浏览器遵循的协议。它不适用于像您的 nodejs 应用程序这样的后端服务器。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

【讨论】:

以上是关于NodeJS 应用程序如何使用 HTTP 请求从禁用的 CORS(跨域共享)服务器访问资源?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用NodeJS连接从请求中提取请求http标头

如何让nodejs的多个http请求全部响应回来后才让程序往下走

如何从 Azure 函数内部发出基于承诺的 HTTP 发布请求 (NodeJS)?

如何使用 node.js 发送 HTTP/2.0 请求

如何从 Google Cloud Functions (nodeJS) 发送 HTTP 请求

发送 HTTP/2 POST 请求 NodeJS