如何在 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 调用具有不同域的站点?

从 laravel 调用 HTTPS 请求到外部 API

如何通过 ASP.NET Core 3 中的中间 Web API 传递未更改的 HTTP 响应?

原始WkWebview调用后如何拦截http / https调用?

如何生成 Bearer 令牌以调用远程 Web API

将 Charles Proxy 与 .NET Core Azure 站点一起使用 - 如何查看 API 调用?