是否有任何好的网络服务可以为国家和州/省提供良好的查找信息?
如果是这样,你用什么?
这是我找到的最好的。他们让您自己下载和托管网络服务,这也很好。
如果您只需要美国信息,美国邮政服务提供了一组 Web 服务,它为此确切地调用了 WebTools。 https://www.usps.com/business/web-tools-apis/welcome.htm。您需要注册才能使用它们,但是一旦您注册它们就非常易于使用。您只需通过 HTTP 发送一个 XML 请求,然后服务器返回一个 XML 响应,您只需解压缩它。
样品要求:
http://SERVERNAME/ShippingAPITest.dll?API=Verify&XML=<AddressValidateRequest%20USERID="xxxxxxx"><Address ID="0"><Address1></Address1><Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State><Zip5></Zip5><Zip4></Zip4></Address></AddressValidateRequest>
示例响应:
<?xml version="1.0"?>
<AddressValidateResponse>
<Address ID="0">
<Address2>6406 IVY LN</Address2>
<City>GREENBELT</City>
<State>MD</State>
<Zip5>20770</Zip5>
<Zip4>1441</Zip4>
</Address>
</AddressValidateResponse>
这是技术文档的链接: https ://www.usps.com/business/web-tools-apis/documentation-updates.htm
与 .Net 配合良好的服务(因为它利用 WSDL)是http://www.webservicex.net。他们在http://www.webservicex.net/uszip.asmx提供美国邮政编码服务。您可以将其添加为服务,Visual Studio 将负责其余的工作。响应以 XML 响应的形式出现,因此您必须对其进行解析,但您可以使用简单的东西,例如USZIP.GetInfoByZIP(ZIP).SelectSingleNode("//STATE").InnerText
.
然后,对于我的应用程序,我按照以下说明使用 XML 构建了数据的内存缓存:http ://www.15seconds.com/issue/010410.htm 。我使用 XML 而不是 a HashTable
orDictionary(TKey, TValue)
因为我希望能够将其序列化为字符串,以便可以将“数据库”保存为用户设置。
美国人口普查局的TIGER 数据集是一个很好的地理数据来源,包括美国的查找和地图数据。他们不再主动跟踪邮政编码数据,但他们确实有一个1999 年的老式文件仍然可用。
对于国家/地区,ISO 国家/地区代码列表是公开的。
我不知道美国以外的信息资源。