如何在 https 站点中调用 http api?
Posted
技术标签:
【中文标题】如何在 https 站点中调用 http api?【英文标题】:How do I call http api in https site? 【发布时间】:2013-11-07 12:55:38 【问题描述】:如何在 https 站点中调用 http api。我的站点使用的是 HTTPS。
我正在使用 JS 文件,例如:
//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
我想在 javascript 代码中调用下面的 api:
http://api.geonames.org/findNearbyPlaceNameJSON?lat=' + pos.coords.latitude + '&lng=' + pos.coords.longitude + '&username=demo
当我将 api 与 http 一起使用时,firefox 和 IE 会阻止 api。 当我使用没有 http 的 api 时:
//api.geonames.org/findNearbyPlaceNameJSON?lat=' + pos.coords.latitude + '&lng=' + pos.coords.longitude + '&username=demo
然后它转换为https。
但是 api 是 http 而不是 https。 那么如何调用上面的api呢?
【问题讨论】:
从 HTTP 运行代码会破坏您的安全性。您需要使用 HTTPS API。 【参考方案1】:唯一可行的是:Create a https proxy on server side and do the request from there.
【讨论】:
以上是关于如何在 https 站点中调用 http api?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 cookie 用于 HTML 和 API 调用具有不同域的站点?
如何通过 ASP.NET Core 3 中的中间 Web API 传递未更改的 HTTP 响应?