跨域请求通常指的是从一个源(域)向另一个源(域)发送请求。由于浏览器的同源策略(Same-Origin Policy),默认情况下,浏览器不允许从一个源获取另一个源的Cookie。同源策略是为了保护用户的隐私和安全。
<script>
标签不受同源策略限制的特性,通过动态创建<script>
标签来请求数据。Access-Control-Allow-Origin
,允许特定的域访问资源。例如:Access-Control-Allow-Origin
,允许特定的域访问资源。例如:<script>
标签来请求数据,但这种方法只支持GET请求,且安全性较低。http-proxy-middleware
:http-proxy-middleware
:假设我们有一个前端页面在https://example.com
,需要获取https://target-domain.com
的Cookie:
fetch('https://target-domain.com/api/data', {
method: 'GET',
credentials: 'include'
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://example.com');
res.header('Access-Control-Allow-Credentials', 'true');
next();
});
app.get('/api/data', (req, res) => {
res.json({ message: 'Hello from target domain!' });
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
通过以上方法,可以在遵守同源策略的前提下,实现跨域获取Cookie的功能。
领取专属 10元无门槛券
手把手带您无忧上云