首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python请求处理url包含回调

Python请求处理url包含回调
EN

Stack Overflow用户
提问于 2018-12-16 18:41:10
回答 1查看 1.4K关注 0票数 1

https://www.goodreads.com/api/index包含了一个如何通过js调用json api的示例。

代码语言:javascript
复制
           <script type="text/javascript">
            function myCallback(result) {
              alert('nb of reviews for book: ' + result.reviews.length);
            }
            var scriptTag = document.createElement('script');
            scriptTag.src = "https://www.goodreads.com/book/isbn/0441172717?callback=myCallback&format=json&user_id=123456789";
            document.getElementsByTagName('head')[0].appendChild(scriptTag);
            </script>

坦率地说,我对url可以包含一个回调函数名感到非常奇怪。这里的秘密是什么?有没有相关的js文档?

无论如何,这是一个javascript示例。如果我想使用python requests来做同样的工作。我该怎么做,该怎么做?

我完全被困在这里了。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-16 20:39:08

这种类型的调用实际上只在浏览器中使用,因此它不适用于Python请求。

这是一个JSONP请求的示例,这是一种生成cross-origin request的方式,例如,在foobar.com提供服务的应用程序想要向example.com发出POST请求。在许多(但不是所有)情况下,出于安全原因,您的浏览器将阻止此类请求。

在这种情况下,请求的结果被传递到回调,然后由浏览器执行。

之前已经提出过相关问题,有一个很好的JSONP解释--它是如何工作的,以及为什么要在这里使用它:https://stackoverflow.com/a/2067584/3084820

如果您使用的是requests,就不会有跨域的问题,因为您将从服务器端发出该请求。我不熟悉goodreads API,但我怀疑他们有一个可以从服务器调用的端点版本。

注意: Goodreads API相当奇怪,而且没有很好的文档。我尝试了一下,并且能够使用requests让它工作,但是EG你需要以key=...而不是user_id=...的形式发送你的API

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53801382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档