使用Julia的Downloads.jl下载.xlsx文件时遇HTTP 403 Forbidden错误求助
解决Julia Downloads.jl下载文件时的HTTP 403 Forbidden错误
问题原因
HTTP 403错误表示目标服务器拒绝了请求,核心原因是默认情况下Downloads.jl发起的请求没有携带浏览器标识的User-Agent头,服务器会识别出这是非浏览器客户端的请求,进而拦截。
解决方案
在下载请求中添加模拟浏览器的请求头,让服务器认为请求来自合法的浏览器客户端。
可行代码示例
using Downloads: download # 定义模拟浏览器的请求头 headers = [ "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" ] # 携带请求头执行下载,第二个参数可指定保存的文件名(可选) file = download( "http://www.tsetmc.com/tsev2/excel/IntraDayPrice.aspx?i=35425587644337450&m=30", "intraday_price.xlsx", headers=headers )
补充说明
- 你可以替换
User-Agent的值为自己浏览器实际的标识,该信息可在浏览器开发者工具的网络请求详情中找到。 - 如果添加
User-Agent后仍出现403,可能需要额外携带Referer等其他请求头,或者服务器存在IP限制、会话验证机制,此时需要先通过浏览器访问目标页面,获取必要的Cookie并添加到请求头中。
内容的提问来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

