Informații despre zona de cod poștal USPS

Încerc să afișez informații despre zona de expediere USPS, dar secțiunea site-ului USPS pe care am folosit-o pentru a răzu aceste informații a fost ruptă de luni de zile și mă întreb dacă cineva știe un alt mod de a-l obține într-un format parsabil?

Pagina care a fost ruptă de luni de zile este aici: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Au aceeași diagramă într-un format nu atât de parsabil aici: http://postcalc.usps.gov/Zonecharts/

Am cache aceste informații, așa că nu trebuie solicitate în mod constant, dar cache-ul este șters ocazional, deoarece zonele se schimbă din când în când.

Răspuns

Iată codul pe care îl folosesc pentru a prelua datele JSON care populează 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; } 

Comentarii

  • Acest lucru este perfect, mulțumesc. Nu aveam nu m-am întors să-și revizuiască noul site de ceva vreme, dar mă bucur că au publicat un șir JSON acum, în loc să trebuiască să analizeze codul HTML.

Răspuns

De asemenea, puteți calcula zona pe baza distanței dintre coordonatele de origine SCF (Sectional Center Facility) și destinația SCF

Zona 1 : Zone nelocale pe o rază de 50 mile de la punctul de inițiere

Zona 2: raza 51-150 mile

Zona 3: raza 151-300 mile

Zona 4: rază 301-600 mile

Zona 5: rază 601-1.000 mile

Zona 6: rază 1001-1400 mile

Zona 7: Raza 1401-1800 mile

Zona 8: 1801 mile și peste

Zona 9: coduri poștale atribuite pentru circumstanțe excepționale ale rețelei

  • Puteți amenda SCF pentru fiecare cod poștal aici: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Puteți obține coordonatele SCF din Google API
  • După ce ai coordonatele, există o mulțime de moduri pentru a calcula distanța dintre ele
  • De asemenea, puteți sări peste coordonate și să calculați doar distanța dintre codurile poștale ale SCF (nu codurile poștale pe care le servește)

Răspuns

USPS vinde o diagramă de zonă completă pentru toate combinațiile de la zip la 63 USD aici: https://postalpro.usps.com/operations/zone-charts

Am trimis unul pentru că nu am mai putut găsi informații în altă parte de câteva luni.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *