使用django发送http请求并获取结果

时间:2017-03-11 16:35:26

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

这似乎是一个非常简单和愚蠢的问题,但我找不到方便的答案 我试图使用google与django的反向geocodding api,因为该网站解释(在https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding)我应该向网址发送请求:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=<_api_key>
但我找不到使用django向google api发送此请求的合适方式。
对我来说,内置django的方法似乎很简单,但我能找到的只是要安装的模块。
如果没有办法安装其他python模块哪个最好?

1 个答案:

答案 0 :(得分:7)

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

result = requests.get(your_link)

您可以在图书馆的docs中找到其他信息(例如,如何进行身份验证,使用Cookie等,以及如何访问响应中的数据)。 requests库编写得非常好,非常直观且易于使用。相当多的聪明人和公司也使用它,所以它不是一个半生不熟的图书馆,有人刚刚在周末被砍掉了(截至目前,它已经有5612个提交和529个贡献者GitHub)。 / p>

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