Información de la zona del código postal de USPS

Estoy intentando mostrar la información de la zona de envío de USPS, pero la sección del sitio de USPS del que solía extraer esta información no funciona durante meses y me pregunto si alguien conoce otra forma de obtenerlo en un formato analizable.

La página que se ha roto durante meses está aquí: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Aquí tienen el mismo gráfico en un formato no tan analizable: http://postcalc.usps.gov/Zonecharts/

Guardo esta información en caché para que no tenga que ser solicitada constantemente, pero la caché se borra ocasionalmente ya que las zonas cambian de vez en cuando.

Respuesta

Aquí está el código que utilizo para obtener los datos JSON que se rellenan con http://postcalc.usps.gov/Zonecharts/ .

private String getZoneJSON(String zip3Digit) { URL url; HttpURLConnection con; String zoneJSON = null; try { url = new URL("https://postcalc.usps.com/DomesticZoneChart/GetZoneChart?ZIPCode3Digit=" + zip3Digit + "&ExcelFormat=1"); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"); con.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); con.setRequestProperty("DNT", "1"); con.setInstanceFollowRedirects(false); InputStream h = (InputStream) con.getContent(); BufferedReader r = new BufferedReader(new InputStreamReader(h)); zoneJSON = r.readLine(); } catch(Exception e) { e.printStackTrace(); } return zoneJSON; } 

Comentarios

  • Esto es perfecto, gracias. No había No he vuelto para revisar su nuevo sitio en un tiempo, pero me alegro de que ofrezcan una cadena JSON ahora en lugar de tener que analizar el HTML.

Respuesta

También puede calcular la zona en función de la distancia entre las coordenadas de origen SCF (Instalación central seccional) y el destino SCF

Zona 1 : Zonas no locales dentro de un radio de 50 millas desde el punto de origen

Zona 2: radio de 51-150 millas

Zona 3: radio de 151-300 millas

Zona 4: radio de 301-600 millas

Zona 5: radio de 601-1,000 millas

Zona 6: radio de 1001-1400 millas

Zona 7: 1401-1800 millas de radio

Zona 8: 1801 millas y más

Zona 9: Códigos postales asignados para circunstancias excepcionales de la red

  • Puede multar SCF para cada código postal aquí: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Puede obtener las coordenadas del SCF de la API de Google
  • Una vez que tenga las coordenadas, hay muchas formas para calcular la distancia entre ellos
  • También puede omitir las coordenadas y simplemente calcular la distancia entre los códigos postales de la SCF mismo (no los códigos postales que sirve)

Respuesta

El USPS vende un gráfico de zona completo para todas las combinaciones de zip desde y por $ 63 aquí: https://postalpro.usps.com/operations/zone-charts

Envié uno porque no he podido encontrar información en ningún otro lugar desde hace meses.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *