代码之家  ›  专栏  ›  技术社区  ›  g.revolution

在给定的城市/satate是否有返回邮政编码的服务?

  •  3
  • g.revolution  · 技术社区  · 15 年前

    是否有任何服务器可用于根据城市/州获取邮政编码?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  4
  •   Chandra Patni    15 年前

    你可以使用 geonames postal code search . 例如:

    http://ws.geonames.org/postalCodeSearch?adminCode1=CA&placename=San+Francisco&maxRows=3

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <geonames>
    <totalResultsCount>76</totalResultsCount>
    <code>
    <postalcode>94102</postalcode>
    <name>San Francisco</name>
    <countryCode>US</countryCode>
    <lat>37.781334</lat>
    <lng>-122.416728</lng>
    <adminCode1>CA</adminCode1>
    
    <adminName1>California</adminName1>
    <adminCode2>075</adminCode2>
    <adminName2>San Francisco</adminName2>
    <adminCode3/>
    <adminName3/>
    </code>
    <code>
    <postalcode>94103</postalcode>
    <name>San Francisco</name>
    <countryCode>US</countryCode>
    <lat>37.77254</lat>
    
    <lng>-122.414664</lng>
    <adminCode1>CA</adminCode1>
    <adminName1>California</adminName1>
    <adminCode2>075</adminCode2>
    <adminName2>San Francisco</adminName2>
    <adminCode3/>
    <adminName3/>
    </code>
    <code>
    <postalcode>94107</postalcode>
    <name>San Francisco</name>
    
    <countryCode>US</countryCode>
    <lat>37.762147</lat>
    <lng>-122.397099</lng>
    <adminCode1>CA</adminCode1>
    <adminName1>California</adminName1>
    <adminCode2>075</adminCode2>
    <adminName2>San Francisco</adminName2>
    <adminCode3/>
    <adminName3/>
    
    </code>
    </geonames>
    
        2
  •  0
  •   Richard Jones    13 年前

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

    根据这个 page on the US Postal Service website which documents their XML based web API ,特别是第3.0节(第13页) this PDF document ,它们有一个URL,您可以在其中发送包含地址减去邮政编码的XML请求,并且它们将使用包含完整地址的XML文档进行响应。

    但是,不能只使用城市和州进行查找,因为一个城市可以包含多个邮政编码,因此还需要传递街道地址。

    根据他们的文档,您的请求如下所示:

    GET http://SERVERNAME/ShippingAPITest.dll?API=ZipCodeLookup&XML=<ZipCodeLookupRequest%20USERID="xxxxxxx"><Address ID="0"><Address1></Address1> <Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State></Address></ZipCodeLookupRequest>
    

    以下是您将得到的回报:

    <?xml version="1.0"?> 
    <ZipCodeLookupResponse> 
        <Address ID="0"> 
            <Address2>6406 IVY LN</Address2> 
            <City>GREENBELT</City> 
            <State>MD</State> 
            <Zip5>20770</Zip5> 
            <Zip4>1441</Zip4> 
        </Address> 
    </ZipCodeLookupResponse>
    

    美国药典 要求您在使用API之前向它们注册,但据我所知,访问是免费的。顺便说一下,他们的API还有一些其他特性:您可以进行地址标准化和邮政编码查找,以及整个跟踪、运输、标签等套件。