Как я могу получить информацию о состоянии и городе из почтового индекса США через онлайн-службу?

Я хочу быть в состоянии дать лучшее предположение о том, какой город и штат почтовый индекс находится через веб-приложение. Есть ли какой-нибудь веб-сервис, который я могу использовать, чтобы понять это?

Ответ 1

Ненавижу делать это с вами, но смотрите здесь...

Я полагаю, что USPS имеет API для некоторых запросов, вы должны изучить это.

Однако, вот несколько из приведенного выше ресурса:

-Adam

Ответ 3

Я нашел несколько способов сделать это с помощью веб-интерфейсов API. Я думаю, что Почтовая служба США будет самой точной, поскольку Zip-коды - это их дело, но Ziptastic выглядит намного проще.

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

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

Использование API Ziptastic HTTP/JSON

Это довольно новая услуга, но, согласно их документации, все, что вам нужно сделать, это отправить запрос GET на http://ziptasticapi.com, так:

GET http://ziptasticapi.com/48867

И они возвратят объект JSON по строкам:

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

Действительно, он работает. Вы можете проверить это из командной строки, выполнив что-то вроде:

curl http://ziptasticapi.com/48867 

Ответ 5

Вы можете получить базу данных, которая сопоставляет почтовый индекс с долготой/широтой и другую базу данных, которая обеспечивает долготу/широту для всех городов США. Тогда вы можете просто сделать это на вашей стороне, не отправляя на веб-службу.

Я видел обе эти базы данных, но я не могу вспомнить, где их найти прямо сейчас. Я буду ткнуть и попытаться вспомнить, чтобы добавить комментарий.