Weatherstack API HTTPS访问受限求助:免费计划为何触发HTTPS请求?
Weatherstack API免费版HTTPS限制报错原因分析
你遇到的问题是代码中明确使用HTTP协议发起请求,但实际触发了HTTPS请求导致报错,核心原因主要有以下三点:
浏览器自动HTTP升级机制:现代主流浏览器(Chrome、Firefox等)内置了安全策略,或者你安装了如HTTPS Everywhere这类扩展,会自动将指向常见公共服务域名的HTTP请求升级为HTTPS。weatherstack的API域名可能被纳入了这类自动升级列表,导致实际发送的请求协议变为HTTPS,而免费版不支持该协议。
API服务器的重定向配置:weatherstack的HTTP端点可能配置了301/302永久/临时重定向,当你发送HTTP请求时,服务器会返回重定向响应,要求客户端改用HTTPS地址访问。浏览器会自动跟随重定向规则发送HTTPS请求,进而触发免费版的HTTPS访问限制。
页面所处的HTTPS环境限制:如果你的网页本身是通过HTTPS协议加载的(比如部署在HTTPS域名下、本地调试使用HTTPS服务),浏览器的混合内容安全策略会阻止加载不安全的HTTP资源,或者自动将HTTP请求升级为HTTPS。这种情况下,即使代码中指定了HTTP,实际发送的仍是HTTPS请求,最终触发报错。
报错响应详情:
{ "success": false, "error": { "code": 105, "type": "https_access_restricted", "info": "Access Restricted - Your current Subscription Plan does not support HTTPS Encryption." } }
你的请求代码:
fetch('http://api.weatherstack.com/current?access_key='+key+'&query='+cityName)
内容的提问来源于stack exchange,提问作者Vitor Wogel
相关产品推荐
相关产品推荐

