从 python API 获取 JSON

Posted

技术标签:

【中文标题】从 python API 获取 JSON【英文标题】:Gett JSON from python API 【发布时间】:2018-10-21 08:33:49 【问题描述】:

我正在尝试一些网络编程。我编写了一个 python API,它将查询一个 SQL 数据库并返回一个 JSON。 API 按预期工作。

另一方面,我有一个控制器,我在其中发出 GET 请求以使用 JSON。

发出 GET 请求,API 开始滚动;但是,当 API 返回 JSON 时,浏览器的开发者控制台中会显示以下内容:

无法加载http://localhost:3000/api/s1r2_rep_fis: 没有'访问- 请求的资源上存在 Control-Allow-Origin' 标头。 Origin 'http://0.0.0.0:8000' 因此不允许访问。

我猜这是由于权限。我的 http 服务器是由 python 运行的:

python -m http.server

控制器代码为:

app.controller("test", function($scope, $http)
    $http.get("http://localhost:3000/api/s1r2_rep_fis")
    .then(function(response)
        $scope.Clientes = response.data;
    );
);

如果我混淆了一些术语/技术,请原谅我,这是我第一次使用 html/javascritp/angularJS。

任何帮助将不胜感激

【问题讨论】:

与后端调用无关,你是在调用不同的域 @epascarello 你对不同的域意味着什么? ***.com/questions/21854516/… 我猜你是从一个端口加载 html 页面,而在另一个端口加载 python 代码 @epascarello 你是对的,API 是 listetint con localhost:3000 并且服务器在 localhost:8000 中运行。如果我将 API 端口更改为 8000,我会收到一条错误消息,指出地址已在使用中。 【参考方案1】:

据我了解,这是一个服务器端问题。不是客户端。您需要做的就是在您的服务器上添加 CORS 启用标头。

访问控制允许来源:*

您也可以在此处查看如何启用 CORS。

enable-cors.org

【讨论】:

我想我现在明白了,我尝试使用这个:***.com/questions/21956683/…,但是 id 不起作用

以上是关于从 python API 获取 JSON的主要内容,如果未能解决你的问题,请参考以下文章

GDB Python API:从地址获取符号名称

python 从Y Charts API获取定价

从 python API 获取 JSON

Python - 如何从 GraphQL api 获取 JSON?

我无法从 python 中的 JSON API 响应中获取值

Python:如何从 gmail API 获取电子邮件的主题