USPS-postinumerotiedot

Yritän näyttää USPS: n lähetysvyöhykkeen tietoja, mutta USPS-sivuston osa, josta käytin näiden tietojen kaapimiseen, on rikki kuukausia ja mietin, tiedäkö kukaan muuta tapaa saada se jäsennettävään muotoon?

Kuukausien ajan rikkoutunut sivu on täällä: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Heillä on sama kaavio ei-niin jäsennettävässä muodossa tässä: http://postcalc.usps.gov/Zonecharts/

Teen välimuistiin nämä tiedot, joten niitä ei tarvitse pyytää jatkuvasti, mutta välimuisti tyhjennetään ajoittain, koska vyöhykkeet muuttuvat aika ajoin.

Vastaa

Tässä on koodi, jota käytän noudettaessa JSON-tietoja, jotka täyttävät 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; } 

kommentit

  • Tämä on täydellistä, kiitos. En ollut ei ole palannut tarkistamaan uutta sivustoaan hetken kuluttua, mutta olen iloinen, että he palvelevat JSON-merkkijonoa nyt HTML-jäsentämisen sijaan.

Vastaa

Voit myös laskea vyöhykkeen koordinaattien lähtöpisteen SCF (Sectional Center Facility) ja määränpään SCF välisen etäisyyden perusteella

Vyöhyke 1 : Ei-paikalliset vyöhykkeet 50 mailin säteellä lähtöpisteestä

Vyöhyke 2: 51-150 mailin säde

Vyöhyke 3: 151-300 mailin säde

Vyöhyke 4: 301-600 mailin säde

Vyöhyke 5: 601-1000 mailin säde

Vyöhyke 6: 1001-1400 mailin säde

Vyöhyke 7: 1401-1800 mailin säde

Vyöhyke 8: 1801 mailia ja yli

Vyöhyke 9: Postinumerot, jotka on määritetty poikkeuksellisille verkko-olosuhteille

  • Voit sakottaa SCF jokaiselle postinumeroille: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Voit saada SCF: n koordinaatit Google-sovellusliittymästä
  • Kun sinulla on koordinaatit, on monia tapoja niiden välisen etäisyyden laskemiseksi
  • Voit myös ohittaa koordinaatit ja laskea vain itse SCF: n postinumeroiden välisen etäisyyden (ei sen palvelemien postinumeroiden) välillä

vastaus

USPS myy täyden vyöhykekaavion kaikille välillä-zip-yhdistelmille hintaan 63 dollaria: https://postalpro.usps.com/operations/zone-charts

Lähetin yhden, koska en ole löytänyt tätä tietoa missään muualla kuukausien ajan.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *