【发布时间】:2022-01-03 08:56:08
【问题描述】:
我正在 chrome 浏览器控制台中对 URL 进行 http 调用,但它会自动将我的调用转换为 https。因此,我收到连接超时错误。以下是提供更好洞察力的代码:
fetch(`http://someurl.com`, {
method: "POST",
mode: "cors",
referrer:"unsafe-url",
headers: {'Content-Type': 'application/json'} ,
body: {data:["g@g.com"]}
}).then(res => {
console.log('result is:',res);
}).catch(err=> {
console.log('error is:',err)
});
但是,调用是转到不存在的“https://someurl.com”。因此,我得到了错误:
POST https://someurl.com net::ERR_CONNECTION_TIMED_OUT
任何指针将不胜感激。
【问题讨论】:
-
检查您的 HSTS 缓存。这是否发生在新的私人/隐身窗口中?
-
我刚刚检查过,在隐身模式下进行操作会给我混合内容:“xxx”处的页面是通过 HTTPS 加载的,但请求了不安全的资源“someurl.com”。此请求已被阻止;内容必须通过 HTTPS 提供。
-
这是设计使然。您需要使用
https://无处不在。如果您依赖于非 HTTPS 外部服务,那么您需要向他们投诉以修复它:无法绕过这样的浏览器限制:dev.to/mittalyashu/… -
实际上我正在尝试一个部署在 aws 中的副项目。所以网址是http。有什么办法可以解决吗?
-
AWS 为所有端点提供 HTTPS。 究竟您使用的是什么 AWS 服务/平台,您在使 HTTPS 正常工作时遇到什么问题?
标签: javascript browser fetch-api