USPS Zip Code Zone Information

Jeg prøver at vise USPS Shipping Zone-oplysninger, men den del af USPS-webstedet, jeg brugte til at skrabe denne information fra, er blevet brudt i flere måneder, og jeg spekulerer på, om nogen kender en anden måde at få det i et parsable-format?

Den side, der er blevet brudt i flere måneder, er her: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

De har det samme diagram i et ikke-så-parsable format her: http://postcalc.usps.gov/Zonecharts/

Jeg cachelagrer disse oplysninger, så de behøver ikke at blive anmodet konstant, men cachen ryddes lejlighedsvis, da zoner ændres fra tid til anden.

Svar

Her er koden, som jeg bruger til at hente de JSON-data, der udfylder 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; } 

Kommentarer

  • Dette er perfekt, tak. Jeg havde ikke har ikke været tilbage for at gennemgå deres nye websted om et stykke tid, men er glad for, at de serverer en JSON-streng nu i stedet for at skulle analysere HTML.

Svar

Du kan også beregne zonen ud fra afstanden mellem koordinatens oprindelse SCF (Sectional Center Facility) og destinationen SCF

Zone 1 : Ikke-lokale zoner inden for en radius på 50 mil fra oprindelsespunktet

Zone 2: 51-150 miles radius

Zone 3: 151-300 miles radius

Zone 4: 301-600 miles radius

Zone 5: 601-1.000 miles radius

Zone 6: 1001-1400 miles radius

Zone 7: Radius 1401-1800 miles

Zone 8: 1801 miles og derover

Zone 9: Postnumre tildelt til ekstraordinære netværksforhold

  • Du kan bøde SCF for hvert postnummer her: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Du kan få koordinaterne til SCF fra Google API
  • Når du har koordinaterne, er der mange måder for at beregne afstanden imellem dem
  • Du kan også springe koordinaterne over og bare beregne afstanden mellem SCF-postnumrene selv (ikke de postnumre, den tjener)

Svar

USPS sælger et fuldzonediagram for alle fra-til-zip-kombinationer til $ 63 her: https://postalpro.usps.com/operations/zone-charts

Jeg sendte ind for en, da jeg ikke har været i stand til at finde information dette andre steder i flere måneder nu.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *