如何通过在线网络服务从美国邮政编码获取州和城市信息?

时间:2009-01-29 19:02:58

标签: language-agnostic

我希望能够通过网络应用程序对邮政编码所在的城市和州进行最佳猜测。我可以用一些网络服务来解决这个问题吗?

5 个答案:

答案 0 :(得分:13)

讨厌这样做,但是look here ......

我相信某些查询的USPS has an API,你应该研究一下。

但是,以下资源中有一些:

- 亚当

答案 1 :(得分:5)

USPS有一个API,但您必须注册:

USPS Web Tools

答案 2 :(得分:2)

我找到了几种基于Web的API的方法。我认为US Postal Service是最准确的,因为邮政编码是他们的事情,但Ziptastic看起来更容易。

使用美国邮政服务HTTP / XML API

根据page on the US Postal Service website which documents their XML based web API,特别是this PDF document的第4.0节(第22页),他们有一个URL,您可以在其中发送包含5位邮政编码的XML请求,他们将使用XML进行响应包含相应城市和州的文件。

根据他们的文档,这是你要发送的内容:

http://SERVERNAME/ShippingAPITest.dll?API=CityStateLookup&XML=<CityStateLookupRequest%20USERID="xxxxxxx"><ZipCode ID= "0"><Zip5>90210</Zip5></ZipCode></CityStateLookupRequest>

这就是你要收到的东西:

<?xml version="1.0"?> 
<CityStateLookupResponse> 
    <ZipCode ID="0"> 
        <Zip5>90210</Zip5> 
        <City>BEVERLY HILLS</City> 
        <State>CA</State> 
    </ZipCode> 
</CityStateLookupResponse>

USPS 确实要求您在使用API​​之前注册它们,但据我所知,访问是免费的。顺便说一下,他们的API还有一些其他功能:你可以做地址标准化和邮政编码查询,以及整套跟踪,运输,标签等。

使用Ziptastic HTTP / JSON API

这是一项非常新的服务,但根据他们的文档,看起来您需要做的就是向http://ziptasticapi.com发送GET请求,如下所示:

GET http://ziptasticapi.com/48867

他们将返回一个JSON对象:

{"country": "US", "state": "MI", "city": "OWOSSO"}

确实,它有效。您可以通过执行以下操作从命令行对此进行测试:

curl http://ziptasticapi.com/48867 

答案 3 :(得分:0)

这些人似乎暴露了一个......

http://www.webservicex.net/uszip.asmx

答案 4 :(得分:0)

您可以获得一个将邮政编码映射到经度/纬度的数据库,以及另一个为所有美国城市提供经度/纬度的数据库。然后你可以在你身边这样做,而不必发送到网络服务。

我已经看过这两个数据库,但我不记得现在在哪里找到它们。我会四处寻找并尝试记住添加评论。