AWS环境下Excel 2016 Power Query无法访问指定API链接问题
解决Excel 2016 Power Query访问NSE API的连接错误
以下是可能遗漏的关键配置项,逐一排查:
强制启用TLS 1.2
NSE的API服务器可能仅支持TLS 1.2及以上版本,而Excel 2016默认可能未开启该协议。通过修改注册表强制启用:- 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 - 新建DWORD值
SchUseStrongCrypto,设置数值为1 - 若为32位系统,同步修改
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319下的同一项
- 打开注册表编辑器,定位到
补充完整请求头
现有M代码缺少部分关键请求头,NSE的API可能依赖这些头做验证。更新后的M代码示例:let stock="IRB", Source = Web.Contents("https://www.nseindia.com/api/corp-info?symbol=" & stock & "&corpType=financialResult&market=equities", [Headers=[ #"accept"="application/json, text/plain, */*", #"accept-encoding"="gzip, deflate, br", #"accept-language"="en-US,en;q=0.9", #"referer"="https://www.nseindia.com/", #"user-agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36", Cookie=""& cookie() &"" ]]) in Source验证Cookie的有效性与完整性
- 检查
nseappid的过期时间:你提供的Cookie中nseappid过期时间为1712030906,若当前时间已超过该值,需从浏览器重新获取最新Cookie - 确保Cookie包含所有必要字段:在浏览器开发者工具的Network面板中,查看访问NSE API时请求头里的完整Cookie,确认是否有
ak_bmsc等其他必填字段,一并添加到M代码中
- 检查
排查AWS云端网络限制
虽然Edge浏览器能正常访问,但Power Query的网络请求可能受AWS安全组、NACL或代理规则限制:- 检查安全组是否允许出站HTTPS(443端口)到
www.nseindia.com - 若环境需要代理,在
Web.Contents的参数中添加代理配置:[Headers=..., Proxy=[Address="your-proxy-address", Port=your-proxy-port]]
- 检查安全组是否允许出站HTTPS(443端口)到
调整Excel信任中心设置
打开Excel选项→信任中心→信任中心设置→外部内容,确保“允许来自所有网站的Power Query数据连接”已启用,或手动将https://www.nseindia.com添加到信任站点列表
内容的提问来源于stack exchange,提问作者Kiran
相关产品推荐
相关产品推荐

