Informazioni sulla zona codice postale USPS

Sto cercando di visualizzare le informazioni sulla zona di spedizione USPS ma la sezione del sito USPS che ho utilizzato per estrarre queste informazioni è stata interrotta da mesi e mi chiedo se qualcuno sappia un altro modo per ottenerlo in un formato analizzabile?

La pagina che è stata interrotta per mesi è qui: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Hanno lo stesso grafico in un formato non analizzabile qui: http://postcalc.usps.gov/Zonecharts/

Memorizzo queste informazioni nella cache quindi non è necessario che vengano richieste costantemente, ma la cache viene svuotata occasionalmente poiché le zone cambiano di tanto in tanto.

Risposta

Ecco il codice che utilizzo per recuperare i dati JSON che popolano 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; } 

Commenti

  • Perfetto, grazie. Non avevo Non sono tornato per rivedere il loro nuovo sito da un po , ma sono contento che ora forniscano una stringa JSON invece di dover analizzare lHTML.

Risposta

Puoi anche calcolare la zona in base alla distanza tra le coordinate di origine SCF (Sectional Center Facility) e la destinazione SCF

Zona 1 : Zone non locali entro un raggio di 50 miglia dal punto di origine

Zona 2: raggio 51-150 miglia

Zona 3: raggio 151-300 miglia

Zona 4: raggio di 301-600 miglia

Zona 5: raggio di 601-1.000 miglia

Zona 6: raggio di 1001-1400 miglia

Zona 7: Raggio di 1401-1800 miglia

Zona 8: 1801 miglia e oltre

Zona 9: codici postali assegnati per circostanze di rete eccezionali

  • Puoi multare il SCF per ogni codice postale qui: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Puoi ottenere le coordinate dellSCF dallAPI di Google
  • Una volta che hai le coordinate, ci sono molti modi per calcolare la distanza tra loro
  • Puoi anche saltare le coordinate e calcolare semplicemente la distanza tra i codici postali dellSCF stesso (non i codici postali che serve)

Risposta

LUSPS vende un grafico a zone complete per tutte le combinazioni da-a zip per $ 63 qui: https://postalpro.usps.com/operations/zone-charts

Ne ho inviato uno poiché non sono più in grado di trovare informazioni da nessunaltra parte da mesi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *