Lập trình mạng Python: client – server (phần 5)

Các tầng ứng dụng

Chương trình đầu tiên viết ra sử dụng thư viện Python bên thứ ba, downoad từ Python
Package Index, để giải quyết một vấn đề. Nó biết tất cả về Google Geocoding API và
các quy tắc cho sử dụng nó. Nhưng cái gì xảy ra nếu thư viện đó đã không tồn tại? Cái
gì xảy ra nếu bạn phải xây dựng một client cho Google’s Maps API bản thân bạn?
Cho câu trả lời, nhìn vào search2.py, như được thể hiện dưới đây. Thay vì sử dụng thư
viện bên thứ ba biết geocoding. Nó xuống một mức nữa và sử dụng thư viện requests
cái nằm đằng sau pygeocoding và rằng, khi bạn có thể thấy từ lệnh pip install trước đó.
cũng đã được cài đặt trong môi trường ảo của bạn.

Fetching a JSON Document from the Google Geocoding API
#!/usr/bin/env python3
# Foundations of Python Network Programming, Third Edition
# https://github.com/brandon-rhodes/fopnp/blob/m/py3/chapter01/search2.py
import requests
def geocode(address):
parameters = {‘address’: address, ‘sensor’: ‘false’}
base = ‘http://maps.googleapis.com/maps/api/geocode/json’
response = requests.get(base, params=parameters)
answer = response.json()
print(answer[‘results’][0][‘geometry’][‘location’])
if __name__ == ‘__main__’:
geocode(‘207 N. Defiance St, Archbold, OH’)

Chạy chương trình Python này trả về một trả lời hoàn toàn tương tự cái của script
đầu tiên.

$ python3 search2.py
{‘lat’: 41.521954, ‘lng’: -84.306691}

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *