【问题标题】:send http request using django and get results使用 django 发送 http 请求并获取结果
【发布时间】:2017-03-11 16:35:26
【问题描述】:

这似乎是一个非常简单和愚蠢的问题,但我找不到方便的答案。
我正在尝试将 google 的反向地理编码 api 与 django 一起使用,正如网站所解释的(https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding)我应该向 url 发送请求:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=<_api_key>
但我找不到使用 django 将此请求发送到 google api 的合适方法。
对我来说,通过 django 内置的某种方法似乎可以实现如此简单的事情,但我能找到的只是要安装的模块。
如果没有办法,只能安装其他 python 模块,哪个是最好的?

【问题讨论】:

标签: python django google-maps http reverse-geocoding


【解决方案1】:

嗯,最直接的方法是安装 requests 库并简单地调用:

result = requests.get(your_link)

您可以在图书馆的docs 中找到更多信息(例如,如何进行身份验证、使用 cookie 等,以及如何访问响应数据)。 requests 库编写得非常好,非常直观且易于使用。相当多的聪明人和公司也在使用它,所以它不是一个半生不熟的库,有人只是在周末破解了(截至目前,它在 GitHub 上有 6060 个提交和 595 个贡献者)。

如果您绝对必须避免使用外部库,何不试试urllib.request。它有点复杂,如果您更喜欢更高级别的界面,甚至文档本身也建议使用requests。但你绝对可以用它完成工作。要开始使用,您可以阅读docs,了解如何使用它来获取数据。阅读此thread,了解如何从urllib 获得的响应中提取 json。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 2019-07-05
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多