Страна, штат, провинция Вебсервис?
Существуют ли какие-либо хорошие веб-сервисы, которые предоставляют полезную информацию для поиска по странам и штатам / провинциям?
Если да, то какие вы используете?
4 ответа
Если вам нужна только информация из США, Почтовая служба США предоставляет набор веб-сервисов, которые она вызывает для этой цели. https://www.usps.com/business/web-tools-apis/welcome.htm. Вам нужно будет зарегистрироваться, чтобы иметь возможность использовать их, но как только вы зарегистрируетесь, они действительно просты в использовании. Вы просто отправляете запрос XML через HTTP, а сервер отправляет ответ 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 вместо HashTable
или же Dictionary(TKey, TValue)
потому что я хотел иметь возможность сериализовать его в строку, чтобы я мог сохранить "базу данных" в качестве пользовательской настройки.
Хорошим источником географических данных, в том числе поисков и картографических данных для США, является набор данных TIGER Бюро переписей США. Они больше не отслеживают данные почтового индекса, но у них все еще есть винтажный файл 1999 года.
Для стран список кодов стран ИСО является общедоступным.
Я не знаю о ресурсах для информации за пределами США.