使用got/axios请求网页遭遇403(Forbidden)错误如何解决?
解决请求powerthesaurus.org时的403 Forbidden错误
403 Forbidden错误是因为网站的反爬机制识别出你的请求来自程序而非浏览器,直接拦截了访问。解决核心是模拟浏览器的请求头,最关键的是设置正确的User-Agent。
用Got库修改后的代码
const { data } = await got.get(`https://www.powerthesaurus.org/trust/synonyms`, { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } }); console.log(data);
用Axios库修改后的代码
const response = await axios.get(`https://www.powerthesaurus.org/trust/synonyms`, { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } }); console.log(response.data);
额外提示
- 如果添加
User-Agent后仍报错,可以补充更多浏览器常用请求头,比如Accept、Accept-Language、Accept-Encoding等,进一步模拟真实浏览器请求 - 避免短时间内频繁发起请求,必要时添加请求间隔,防止触发更严格的反爬限制
内容的提问来源于stack exchange,提问作者user21189833
相关产品推荐
相关产品推荐

