NodeJS 如何绕过magiceden cloudflare或我怎么能得到一些信息从magiceden?

2nbm6dog  于 2022-12-26  发布在  Node.js
关注(0)|答案(2)|浏览(330)

我将从magiceden(一个solana市场)获取一些信息,如收藏名称、收藏底价。我使用了nodejs项目中的axios.get函数来获取这些信息。但它在2022年1月27日之前有效,但现在无效。测试代码可以在这里看到。

axios.get("https://api-mainnet.magiceden.io/new_collections", {
headers: {
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
    "User-Agent": "Mozilla/5.0",
},
}).then((res) => {
 console.log(res.data);
}).catch((err) => {
 console.log(err.message);
});

我看到了返回的结果,所以我知道Cloudflare返回了403错误。所以我尝试设置请求头信息。我尝试了下面的头信息。

headers: {
 'accept': 'application/json, text/plain, */*',
 'accept-language': 'en-US,en;q=0.9',
 'if-none-match': 'W/"2666-Zk3Sie7K34jZXASeZMxutI02+C4"',
 'origin': 'https://magiceden.io',
 'referer': 'https://magiceden.io/',
 'sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="97", "Chromium";v="97"',
 'sec-ch-ua-mobile': '?0',
 'sec-ch-ua-platform': "Windows",
 'sec-fetch-dest': 'empty',
 'sec-fetch-mode': 'cors',
 'sec-fetch-site': 'same-site',
 'user-agent': 
  'Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36',
}

但是现在还是不行,请帮帮我。

lstz6jyr

lstz6jyr1#

你的代码对我来说没有任何修改。

您收到此错误很可能是因为CloudFlare认为您的IP地址“可疑”(您是否频繁地发出请求?)。很可能在403消息的正文中有更多的细节,例如一条消息说您应该完成验证码。要解决此问题,请尝试查找此类细节,更改您的IP地址或等待一段时间:)
你不能“绕过”CloudFlare,这是使用CloudFlare的全部要点--除非网站所有者有一些错误的配置,否则有办法绕过它。
也许网站所有者并不想对这个特定的API有如此严格的限制?也许联系他们放宽限制可能是一个解决方案?

brgchamk

brgchamk2#

您只需将顶级域从.io更改为.dev

https://api-mainnet.magiceden.dev/new_collections

相关问题