如题,要跨域请求一个网站接口,对方网站点击按钮执行 fetch ,代码如下
fetch(n, {
credentials: "include",
referrer: document.location.href
}
控制台查看 Network 信息如下:
请求 URL: https://xxdomain.com/q/xxx
请求方法: GET
(下面是 header)
Cookie: connect.sid=s%3Akdxxx
Host: xxdomain.com
Referer: xxdomain.com
尝试:尝试了用 express 代理,没成功。
let n = '接口地址'
fetch(n, {
headers:{
'Cookie': 'connect.sid=s%3xx',
}
, referrer: 'xxx' })
res.send(response.data);
在 header 中放置 Cookie 跟 credentials: "include"一样吗?对方检测到了跨域,不让请求。
欲求:有没有办法模仿浏览器的请求,带 cookie 访问,因为对方网站是不用登录的,cookie 很容易获取到。 前端或后端有办法模仿浏览器请求,来获取到接口数据吗?
1
cxe2v 267 天前
跨域只是浏览器不允许跨域,你用服务器代码去请求,不存在跨域问题
|
2
flmn 267 天前
跨域是调用方浏览器的限制,不是被调用方服务器的限制。
被调用方服务器可以做一些便利,告诉调用方允许跨域。 |