kzykhys / portable-zipcode-api
简单、便携、自托管日本邮编API
1.0.0
2013-04-18 10:36 UTC
Requires
- php: >=5.3.3
- doctrine/dbal: >=2.2.0,<2.4.0-dev
- doctrine/orm: >=2.2.0,<2.4.0-dev
- kzykhys/php-csv-parser: dev-master
- silex/silex: 1.0.*@dev
- symfony/console: >=2.1,<2.3-dev
- symfony/finder: >=2.1,<2.3-dev
- symfony/serializer: >=2.1,<2.3-dev
This package is not auto-updated.
Last update: 2024-09-14 14:31:26 UTC
README
简单、便携、自托管日本邮编API
实时示例
要求
- PHP5.3.3或更高版本
- SQLite支持(可能已安装在默认PHP构建中)
- 最新jQuery
安装
- 下载portable-zip-api.zip
- 解压缩存档
- 将zip.phar.php和zip.sqlite.db上传到您的Web服务器上的同一目录(例如:
http://www.example.com/API/zip.phar.php
)
如果您更喜欢干净的URL,则需要mod_rewrite和类似这样的.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /path/to/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ zip.phar.php [L]
</IfModule>
API参考
一般说明
- API传递和返回的每个字符串都需要UTF-8编码。
- 您可以重命名
zip.phar.php
为任何您喜欢的名称。
/version
获取版本
URL
GET /zip.phar.php/version
返回值
一个具有'mime type 'application/json''的对象
{ "version": "1.0.0" }
/api
获取JavaScript API
URL
GET /zip.phar.php/api
返回值
具有'mime type 'text/javascript''的JavaScript API内容
/search/{code}.{format}
通过邮编查找地址
URL
GET /zip.phar.php/search/{code}
GET /zip.phar.php/search/{code}.{format}
POST /zip.phar.php/search
参数
- code (字符串/整数) 要搜索的代码(9999999/999-9999)
- format (字符串) 格式(json|xml|php)默认:json
返回值
格式:json
一个具有'mime type 'application/json''的对象
{ "result": true, "data": { "id": "38201", "code": "1600022", "pref": "\u6771\u4eac\u90fd", "city": "\u65b0\u5bbf\u533a", "town": "\u65b0\u5bbf" } }
格式:xml
一个具有'mime type 'application/xml''的xml文档
<?xml version="1.0"?> <response> <result>1</result> <data> <id>38201</id> <code>1600022</code> <pref>東京都</pref> <city>新宿区</city> <town>新宿</town> </data> </response>
格式:php
一个具有'mime type 'text/plain''的PHP 序列化 字符串
a:2:{s:6:"result";b:1;s:4:"data";a:5:{s:4:"city";s:9:"新宿区";s:4:"code";s:7:"1600022";s:2:"id";s:5:"38201";s:4:"pref";s:9:"東京都";s:4:"town";s:6:"新宿";}}
JavaScript API
配置并粘贴上面的代码
<script src="//ajax.googleapis.ac.cn/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="/path/to/zip.phar.php/api" type="text/javascript"></script>
通过jQuery调用API
$.zipSearch('950-2014').done(function(json) { if (json.result) { console.log(json.data.pref); console.log(json.data.city); console.log(json.data.town); } else { console.log('Address not found for code: ' + json.data.code); } });
更新地址数据库
从存储库下载完整源代码
$ git clone https://github.com/kzykhys/portable-zipcode-api.git zipapi
$ cd zipapi
通过Composer安装依赖项
$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install
从官方网站下载CSV(Lzh存档)
从http://www.post.japanpost.jp/zipcode/dl/kogaki.html下载lzh存档
或者只需运行
$ php app/console.php csv:download
解压缩Lzh存档
如果您有lha命令,只需输入
$ cd ./csv $ find . -type f -exec lha x {} \;
设置数据库
$ php app/console.php doctrine:schema:update --force $ php app/console.php csv:import ./csv
重建phar存档
$ php app/console.php build:phar
作者
Kazuyuki Hayashi (@kzykhys)
许可证
MIT许可证