我正在尝试通过 Python 脚本写一些笔记。
OSM API 应该支持 HTTP 基本认证。
按照我在 Python 文档中找到的示例,我编写了这个脚本:
#!/usr/bin/env python3
import urllib.request
import urllib.parse
url = 'http://api.openstreetmap.org/api/0.6/notes'
username = 'Stemby'
password = input('password > ')
# Create an OpenerDirector with support for Basic HTTP Authentication...
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(realm='Web Password',
uri=url, user=username,
passwd=password)
opener = urllib.request.build_opener(auth_handler)
# ...and install it globally so it can be used with urlopen.
urllib.request.install_opener(opener)
def send_note(lat, lon, text):
data = dict(lat=lat, lon=lon, text=text)
urllib.request.urlopen(url, urllib.parse.urlencode(data).encode('utf8'))
lat = input('lat > ')
lon = input('lon > ')
text = input('text > ')
send_note(lat, lon, text)
我在这里找到了境界。
这样我可以创建新的笔记,但是这些笔记是匿名的;所以身份验证不起作用。
你能帮助我吗?
我在 Debian Jessie 上使用 Python 3.2.4。
谢谢!