Есть ли какая-либо услуга, возвращающая почтовые индексы по указанному городу / сатату? - PullRequest
3 голосов
/ 05 января 2010

есть ли сервер, который я могу использовать для получения почтовых индексов в зависимости от города / штата?

Спасибо

Ответы [ 2 ]

4 голосов
/ 05 января 2010

Вы можете использовать geonames Поиск по почтовому индексу . Например:

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>
0 голосов
/ 24 апреля 2012

Вы можете использовать HTTP / XML API Почтовой службы США

Согласно этой странице на веб-сайте почтовой службы США, которая документирует их веб-API на основе XML , в частности, раздел 3.0 (стр. 13) этого документа PDF , у них есть 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>

USPS требует , чтобы вы зарегистрировались в них, прежде чем сможете использовать API, но, насколько я могу судить, плата за доступ не взимается. Кстати, их API имеет ряд других функций: вы можете выполнять стандартизацию адресов и поиск по почтовому индексу, а также весь набор средств отслеживания, доставки, этикеток и т. Д.

...